ipython notebook 运行时缺少 pyzmq。

32

我可以运行iPython,但是当我尝试启动笔记本时出现以下错误:

~  ipython notebook                   
Traceback (most recent call last):
  File "/usr/local/bin/ipython", line 8, in <module>
    load_entry_point('ipython==2.1.0', 'console_scripts', 'ipython')()
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.egg/IPython/__init__.py", line 120, in start_ipython
    return launch_new_instance(argv=argv, **kwargs)
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.egg/IPython/config/application.py", line 563, in launch_instance
    app.initialize(argv)
  File "<string>", line 2, in initialize
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.egg/IPython/config/application.py", line 92, in catch_config_error
    return method(app, *args, **kwargs)
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.egg/IPython/terminal/ipapp.py", line 321, in initialize
    super(TerminalIPythonApp, self).initialize(argv)
  File "<string>", line 2, in initialize
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.egg/IPython/config/application.py", line 92, in catch_config_error
    return method(app, *args, **kwargs)
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.egg/IPython/core/application.py", line 381, in initialize
    self.parse_command_line(argv)
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.egg/IPython/terminal/ipapp.py", line 316, in parse_command_line
    return super(TerminalIPythonApp, self).parse_command_line(argv)
  File "<string>", line 2, in parse_command_line
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.egg/IPython/config/application.py", line 92, in catch_config_error
    return method(app, *args, **kwargs)
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.egg/IPython/config/application.py", line 475, in parse_command_line
    return self.initialize_subcommand(subc, subargv)
  File "<string>", line 2, in initialize_subcommand
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.egg/IPython/config/application.py", line 92, in catch_config_error
    return method(app, *args, **kwargs)
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.egg/IPython/config/application.py", line 406, in initialize_subcommand
    subapp = import_item(subapp)
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.egg/IPython/utils/importstring.py", line 42, in import_item
    module = __import__(package, fromlist=[obj])
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.egg/IPython/html/notebookapp.py", line 39, in <module>
    check_for_zmq('2.1.11', 'IPython.html')
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.egg/IPython/utils/zmqrelated.py", line 37, in check_for_zmq
    raise ImportError("%s requires pyzmq >= %s"%(required_by, minimum_version))
ImportError: IPython.html requires pyzmq >= 2.1.11

但据我所见,我已经安装了pyzmq包。

~ pip install pyzmq            
Requirement already satisfied (use --upgrade to upgrade): pyzmq in /Library/Python/2.7/site-packages/pyzmq-14.3.1-py2.7-macosx-10.6-intel.egg
Cleaning up...

在我的情况下有效的答案在 https://dev59.com/gXzaa4cB1Zd3GeqPTbMe#25187899 上。 - Matt McClure
3个回答

54

注意,ipython的安装过程有些特殊。以下是我解决这个问题所做的步骤:

$ pip uninstall ipython
$ pip install "ipython[all]"

问题在于笔记本电脑有自己的依赖关系,这些依赖关系不会随着pip install ipython一起安装。然而,安装了ipython之后,如果你尝试使用[all]表单,pip就不认为需要添加任何内容。

如评论中所提到的一样,对于一些shell(例如zsh),需要转义或引用方括号(pip install ipython\[all\]也可以工作)。


2
这对我起了作用,但是我必须先卸载 pyzmq,否则问题仍然存在。 - marcin_koss
1
这对我也失败了。需要使用zsh安装pip install "ipython[all]" - Grant David Bachman
2
是的,有些shell需要引号;而其他则不需要。基本上,如果你的shell要求转义'[]'字符,则应将其放在引号中。此外,仅仅总是加引号也不会有害,因此为了文档更新的目的,更新这个答案可能是值得的 :) - Hans L
1
pip install "ipython[notebook]" 不是更好吗? - seyed
1
这个问题对我也解决了!! - AJN
显示剩余5条评论

1

对于我(Ubuntu 14.04.2),通过Synaptic软件包管理器安装python3-zmq软件包可以正常工作,该软件包将安装libzmq3。

之后,请检查pyzmq是否正确安装:

pip list

然后我安装了ipython:
pip install "ipython[all]"

对我来说问题在于我安装了 python-zmq 而不是 python3-zmq (ubuntu 16.04)。 - Ott Toomet

1
使用
ipython2.7 notebook

代替

ipython notebook

这对我起了作用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接