1
votes

I was enjoying my ipython notebook on my MacPro running OS X Yosemite, which was running python 2.7.

Then, I installed python 3.4, but forgot to double click the "Update Shell Profile.command" file in the Applications/Python3.4 folder.

When I ran ipython notebook afterward, I noticed that I could choose between python 2.7 and python 3 kernels. When I chose the python 3 kernel, it would try to start, but die.

I shutdown my ipython notebook, and the next time I tried to launch it, I received the following errors:

Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.4/bin/ipython", line 11, in sys.exit(start_ipython()) File "/Library/Python/2.7/site-packages/IPython/init.py", line 118, in start_ipython return launch_new_instance(argv=argv, **kwargs) File "/Library/Python/2.7/site-packages/traitlets/config/application.py", line 591, in launch_instance app.initialize(argv) File "", line 2, in initialize File "/Library/Python/2.7/site-packages/traitlets/config/application.py", line 75, in catch_config_error return method(app, *args, **kwargs) File "/Library/Python/2.7/site-packages/IPython/terminal/ipapp.py", line 305, in initialize super(TerminalIPythonApp, self).initialize(argv) File "", line 2, in initialize File "/Library/Python/2.7/site-packages/traitlets/config/application.py", line 75, in catch_config_error return method(app, *args, **kwargs) File "/Library/Python/2.7/site-packages/IPython/core/application.py", line 386, in initialize self.parse_command_line(argv) File "/Library/Python/2.7/site-packages/IPython/terminal/ipapp.py", line 300, in parse_command_line return super(TerminalIPythonApp, self).parse_command_line(argv) File "", line 2, in parse_command_line File "/Library/Python/2.7/site-packages/traitlets/config/application.py", line 75, in catch_config_error return method(app, *args, **kwargs) File "/Library/Python/2.7/site-packages/traitlets/config/application.py", line 487, in parse_command_line return self.initialize_subcommand(subc, subargv) File "", line 2, in initialize_subcommand File "/Library/Python/2.7/site-packages/traitlets/config/application.py", line 75, in catch_config_error return method(app, *args, **kwargs) File "/Library/Python/2.7/site-packages/traitlets/config/application.py", line 418, in initialize_subcommand subapp = import_item(subapp) File "/Library/Python/2.7/site-packages/ipython_genutils/importstring.py", line 31, in import_item module = import(package, fromlist=[obj]) File "/Library/Python/2.7/site-packages/notebook/notebookapp.py", line 32, in from zmq.eventloop import ioloop File "/Library/Python/2.7/site-packages/zmq/init.py", line 44, in _libsodium = ctypes.CDLL(bundled_sodium[0], mode=ctypes.RTLD_GLOBAL) File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/ctypes/init.py", line 351, in init self._handle = _dlopen(self._name, mode) OSError: dlopen(/Library/Python/2.7/site-packages/zmq/libsodium.so.orig, 10): Symbol not found: _Py_InitModule4_64 Referenced from: /Library/Python/2.7/site-packages/zmq/libsodium.so.orig Expected in: flat namespace in /Library/Python/2.7/site-packages/zmq/libsodium.so.orig

I've uninstalled ipython, deleted the .ipython directory, and then reinstalled ipython to no avail.

Any advice would be very welcome.

Andy

1

1 Answers

0
votes

I had the same problem and the following procedure worked for me:

  1. uninstall the 2.7 version found in:

    ~/Library/Frameworks/Python.Framework/Versions

  2. Download the Mac installer for Python 2.7.10 found here: Mac Python Downloads

Then, as a test, try launching IPython from Terminal.app by typing

$ipython

If that is successful, then try launching an IPython notebook from Terminal

$ipython notebook