The recent release of ipykernel 4.7.0 appears to break Envisage.
======================================================================
ERROR: test_initial_namespace (envisage.plugins.ipython_kernel.tests.test_internal_ipkernel.TestInternalIPKernel)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/travis/build/enthought/envisage/envisage/plugins/ipython_kernel/tests/test_internal_ipkernel.py", line 45, in test_initial_namespace
kernel.shutdown()
File "/home/travis/build/enthought/envisage/envisage/plugins/ipython_kernel/internal_ipkernel.py", line 88, in shutdown
self.ipkernel.shell.exit_now = True
File "/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/traitlets/traitlets.py", line 585, in __set__
self.set(obj, value)
File "/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/traitlets/traitlets.py", line 574, in set
obj._notify_trait(self.name, old_value, new_value)
File "/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/traitlets/traitlets.py", line 1139, in _notify_trait
type='change',
File "/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/traitlets/traitlets.py", line 1176, in notify_change
c(change)
File "/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/ipykernel/zmqshell.py", line 472, in _update_exit_now
loop = self.kernel.io_loop
AttributeError: 'IPythonKernel' object has no attribute 'io_loop'
======================================================================
ERROR: test_io_pub_thread_stopped (envisage.plugins.ipython_kernel.tests.test_internal_ipkernel.TestInternalIPKernel)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/travis/build/enthought/envisage/envisage/plugins/ipython_kernel/tests/test_internal_ipkernel.py", line 49, in test_io_pub_thread_stopped
kernel.init_ipkernel(gui_backend=None)
File "/home/travis/build/enthought/envisage/envisage/plugins/ipython_kernel/internal_ipkernel.py", line 62, in init_ipkernel
self.ipkernel = gui_kernel(gui_backend)
File "/home/travis/build/enthought/envisage/envisage/plugins/ipython_kernel/internal_ipkernel.py", line 28, in gui_kernel
kernel.initialize(argv)
File "<decorator-gen-121>", line 2, in initialize
File "/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/traitlets/config/application.py", line 87, in catch_config_error
return method(app, *args, **kwargs)
File "/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/ipykernel/kernelapp.py", line 448, in initialize
self.init_sockets()
File "/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/ipykernel/kernelapp.py", line 238, in init_sockets
self.shell_port = self._bind_socket(self.shell_socket, self.shell_port)
File "/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/ipykernel/kernelapp.py", line 180, in _bind_socket
s.bind("tcp://%s:%i" % (self.ip, port))
File "zmq/backend/cython/socket.pyx", line 495, in zmq.backend.cython.socket.Socket.bind
File "zmq/backend/cython/checkrc.pxd", line 25, in zmq.backend.cython.checkrc._check_rc
raise ZMQError(errno)
ZMQError: Address already in use
======================================================================
ERROR: test_lifecycle (envisage.plugins.ipython_kernel.tests.test_internal_ipkernel.TestInternalIPKernel)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/travis/build/enthought/envisage/envisage/plugins/ipython_kernel/tests/test_internal_ipkernel.py", line 28, in test_lifecycle
kernel.init_ipkernel(gui_backend=None)
File "/home/travis/build/enthought/envisage/envisage/plugins/ipython_kernel/internal_ipkernel.py", line 62, in init_ipkernel
self.ipkernel = gui_kernel(gui_backend)
File "/home/travis/build/enthought/envisage/envisage/plugins/ipython_kernel/internal_ipkernel.py", line 28, in gui_kernel
kernel.initialize(argv)
File "<decorator-gen-121>", line 2, in initialize
File "/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/traitlets/config/application.py", line 87, in catch_config_error
return method(app, *args, **kwargs)
File "/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/ipykernel/kernelapp.py", line 448, in initialize
self.init_sockets()
File "/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/ipykernel/kernelapp.py", line 238, in init_sockets
self.shell_port = self._bind_socket(self.shell_socket, self.shell_port)
File "/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/ipykernel/kernelapp.py", line 180, in _bind_socket
s.bind("tcp://%s:%i" % (self.ip, port))
File "zmq/backend/cython/socket.pyx", line 495, in zmq.backend.cython.socket.Socket.bind
File "zmq/backend/cython/checkrc.pxd", line 25, in zmq.backend.cython.checkrc._check_rc
raise ZMQError(errno)
ZMQError: Address already in use
======================================================================
ERROR: test_kernel_namespace_extension_point (envisage.plugins.ipython_kernel.tests.test_ipython_kernel_plugin.TestIPythonKernelPlugin)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/travis/build/enthought/envisage/envisage/plugins/ipython_kernel/tests/test_ipython_kernel_plugin.py", line 58, in test_kernel_namespace_extension_point
kernel.init_ipkernel(gui_backend=None)
File "/home/travis/build/enthought/envisage/envisage/plugins/ipython_kernel/internal_ipkernel.py", line 62, in init_ipkernel
self.ipkernel = gui_kernel(gui_backend)
File "/home/travis/build/enthought/envisage/envisage/plugins/ipython_kernel/internal_ipkernel.py", line 28, in gui_kernel
kernel.initialize(argv)
File "<decorator-gen-121>", line 2, in initialize
File "/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/traitlets/config/application.py", line 87, in catch_config_error
return method(app, *args, **kwargs)
File "/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/ipykernel/kernelapp.py", line 448, in initialize
self.init_sockets()
File "/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/ipykernel/kernelapp.py", line 238, in init_sockets
self.shell_port = self._bind_socket(self.shell_socket, self.shell_port)
File "/home/travis/virtualenv/python2.7_with_system_site_packages/local/lib/python2.7/site-packages/ipykernel/kernelapp.py", line 180, in _bind_socket
s.bind("tcp://%s:%i" % (self.ip, port))
File "zmq/backend/cython/socket.pyx", line 495, in zmq.backend.cython.socket.Socket.bind
File "zmq/backend/cython/checkrc.pxd", line 25, in zmq.backend.cython.checkrc._check_rc
raise ZMQError(errno)
ZMQError: Address already in use