运行ipython笔记本时pyzmq丢失了

utd*_*ant 32 python pip ipython easy-install

我可以运行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
Run Code Online (Sandbox Code Playgroud)

但据我所知,我已经安装了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...
Run Code Online (Sandbox Code Playgroud)

Cha*_*tin 54

精氨酸.该IPython的安装是有点奇特.这是解决这个问题我必须做的事情:

$ pip uninstall ipython
$ pip install "ipython[all]"
Run Code Online (Sandbox Code Playgroud)

问题是笔记本电脑有自己的一组依赖项,它们没有安装pip install ipython.但是,安装了ipython后,如果您尝试使用该[all]表单,则pip看不到需要添加任何内容.

正如在一些shell(例如zsh)的注释中所提到的,有必要转义或引用方括号(pip install ipython\[all\]也可以).

  • 这对我有用,但我不得不首先卸载pyzmq,否则问题仍然存在. (2认同)
  • 是的,有些炮弹需要报价; 别人不这样做.基本上,如果你的shell要求转义'[]'字符,那么你应该把它放在引号中.此外,它总是引用它不应该伤害,所以为了文档更新这个答案可能是值得的:) (2认同)