##// END OF EJS Templates
test re-entrant embed_kernel
test re-entrant embed_kernel

File last commit:

r6631:82a24021
r6830:ea917e3e
Show More
__init__.py
68 lines | 2.2 KiB | text/x-python | PythonLexer
MinRK
cleaner error on pyzmq < 2.0.10.
r3317 #-----------------------------------------------------------------------------
Matthias BUSSONNIER
update copyright to 2011/20xx-2011...
r5390 # Copyright (C) 2010-2011 The IPython Development Team
MinRK
cleaner error on pyzmq < 2.0.10.
r3317 #
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING.txt, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
MinRK
update zmq dependency to 2.1.4
r4028 # Verify zmq version dependency >= 2.1.4
MinRK
cleaner error on pyzmq < 2.0.10.
r3317 #-----------------------------------------------------------------------------
MinRK
warn on detection of libzmq 3
r4248 import warnings
Szabolcs Horvát
Now using distutils.version instead of setuptools
r5374 from distutils.version import LooseVersion as V
MinRK
warn on detection of libzmq 3
r4248
MinRK
add `patch_pyzmq` for backporting a few changes from pyzmq...
r6628
def patch_pyzmq():
"""backport a few patches from newer pyzmq
These can be removed as we bump our minimum pyzmq version
"""
import zmq
MinRK
add ioloop.install to backported patches
r6631
# ioloop.install, introduced in pyzmq 2.1.7
from zmq.eventloop import ioloop
def install():
import tornado.ioloop
tornado.ioloop.IOLoop = ioloop.IOLoop
if not hasattr(ioloop, 'install'):
ioloop.install = install
MinRK
add `patch_pyzmq` for backporting a few changes from pyzmq...
r6628 # fix missing DEALER/ROUTER aliases in pyzmq < 2.1.9
if not hasattr(zmq, 'DEALER'):
zmq.DEALER = zmq.XREQ
if not hasattr(zmq, 'ROUTER'):
zmq.ROUTER = zmq.XREP
# fallback on stdlib json if jsonlib is selected, because jsonlib breaks things.
# jsonlib support is removed from pyzmq >= 2.2.0
from zmq.utils import jsonapi
if jsonapi.jsonmod.__name__ == 'jsonlib':
import json
jsonapi.jsonmod = json
MinRK
use ROUTER/DEALER socket names instead of XREP/XREQ...
r4725 def check_for_zmq(minimum_version, module='IPython.zmq'):
try:
import zmq
except ImportError:
raise ImportError("%s requires pyzmq >= %s"%(module, minimum_version))
MinRK
cleaner error on pyzmq < 2.0.10.
r3317
MinRK
use ROUTER/DEALER socket names instead of XREP/XREQ...
r4725 pyzmq_version = zmq.__version__
Szabolcs Horvát
Cleaner minimum version comparison using setuptools to reduce chance of breakage (0.11 broke with pyzmq 2.1.10)
r5373
Szabolcs Horvát
Check for dev version of zmq per @minrk's request
r5386 if 'dev' not in pyzmq_version and V(pyzmq_version) < V(minimum_version):
MinRK
use ROUTER/DEALER socket names instead of XREP/XREQ...
r4725 raise ImportError("%s requires pyzmq >= %s, but you have %s"%(
module, minimum_version, pyzmq_version))
MinRK
cleaner error on pyzmq < 2.0.10.
r3317
Szabolcs Horvát
Cleaner minimum version comparison using setuptools to reduce chance of breakage (0.11 broke with pyzmq 2.1.10)
r5373 if V(zmq.zmq_version()) >= V('4.0.0'):
MinRK
use ROUTER/DEALER socket names instead of XREP/XREQ...
r4725 warnings.warn("""libzmq 4 detected.
It is unlikely that IPython's zmq code will work properly.
Please install libzmq stable, which is 2.1.x or 2.2.x""",
RuntimeWarning)
MinRK
warn on detection of libzmq 3
r4248
MinRK
use ROUTER/DEALER socket names instead of XREP/XREQ...
r4725 check_for_zmq('2.1.4')
MinRK
add `patch_pyzmq` for backporting a few changes from pyzmq...
r6628 patch_pyzmq()