##// END OF EJS Templates
Restore support for Python < 2.7.9...
Restore support for Python < 2.7.9 See Python issue 21591 for details: http://bugs.python.org/issue21591 The combination of exec and a closure caused a problem on Python 2 older than 2.7.9. That was only released in December 2014, so we probably can't require it yet.

File last commit:

r13888:74d7ea88
r19689:22fa279b
Show More
zmqrelated.py
46 lines | 1.5 KiB | text/x-python | PythonLexer
"""Utilities for checking zmq versions."""
#-----------------------------------------------------------------------------
# Copyright (C) 2013 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING.txt, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Verify zmq version dependency >= 2.1.11
#-----------------------------------------------------------------------------
from IPython.utils.version import check_version
def patch_pyzmq():
"""backport a few patches from newer pyzmq
These can be removed as we bump our minimum pyzmq version
"""
import zmq
# 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
def check_for_zmq(minimum_version, required_by='Someone'):
try:
import zmq
except ImportError:
raise ImportError("%s requires pyzmq >= %s"%(required_by, minimum_version))
patch_pyzmq()
pyzmq_version = zmq.__version__
if not check_version(pyzmq_version, minimum_version):
raise ImportError("%s requires pyzmq >= %s, but you have %s"%(
required_by, minimum_version, pyzmq_version))