【问题标题】:Ipython is working in command prompt but not in browserIpython 在命令提示符下工作,但不在浏览器中
【发布时间】:2014-02-19 21:13:19
【问题描述】:

我使用的是 Windows 8 64 位笔记本电脑。我的电脑上已经有 python 2.7。所以我使用easy_install安装了Ipython。我现在可以在 C:\Python27\Scripts 中看到一个 ipython 应用程序文件。当我运行该文件时,它会打开我的 cmd,我可以编写代码。但是,当我在同一文件夹下的 cmd 中说 Ipython notebook 时,它不会在浏览器中打开笔记本并给出以下错误 -

C:\Users\UserName>cd C:\Python27\Scripts\

C:\Python27\Scripts>Ipython notebook
Traceback (most recent call last):
  File "C:\Python27\Scripts\ipython-script.py", line 9, in <module>
    load_entry_point('ipython==1.2.0', 'console_scripts', 'ipython')()
  File "C:\Python27\lib\site-packages\ipython-1.2.0-py2.7.egg\IPython\__init__.p
y", line 118, in start_ipython
    return launch_new_instance(argv=argv, **kwargs)
  File "C:\Python27\lib\site-packages\ipython-1.2.0-py2.7.egg\IPython\config\app
lication.py", line 544, in launch_instance
    app.initialize(argv)
  File "<string>", line 2, in initialize
  File "C:\Python27\lib\site-packages\ipython-1.2.0-py2.7.egg\IPython\config\app
lication.py", line 89, in catch_config_error
    return method(app, *args, **kwargs)
  File "C:\Python27\lib\site-packages\ipython-1.2.0-py2.7.egg\IPython\terminal\i
papp.py", line 312, in initialize
    super(TerminalIPythonApp, self).initialize(argv)
  File "<string>", line 2, in initialize
  File "C:\Python27\lib\site-packages\ipython-1.2.0-py2.7.egg\IPython\config\app
lication.py", line 89, in catch_config_error
    return method(app, *args, **kwargs)
  File "C:\Python27\lib\site-packages\ipython-1.2.0-py2.7.egg\IPython\core\appli
cation.py", line 373, in initialize
    self.parse_command_line(argv)
  File "C:\Python27\lib\site-packages\ipython-1.2.0-py2.7.egg\IPython\terminal\i
papp.py", line 307, in parse_command_line
    return super(TerminalIPythonApp, self).parse_command_line(argv)
  File "<string>", line 2, in parse_command_line
  File "C:\Python27\lib\site-packages\ipython-1.2.0-py2.7.egg\IPython\config\app
lication.py", line 89, in catch_config_error
    return method(app, *args, **kwargs)
  File "C:\Python27\lib\site-packages\ipython-1.2.0-py2.7.egg\IPython\config\app
lication.py", line 474, in parse_command_line
    return self.initialize_subcommand(subc, subargv)
  File "<string>", line 2, in initialize_subcommand
  File "C:\Python27\lib\site-packages\ipython-1.2.0-py2.7.egg\IPython\config\app
lication.py", line 89, in catch_config_error
    return method(app, *args, **kwargs)
  File "C:\Python27\lib\site-packages\ipython-1.2.0-py2.7.egg\IPython\config\app
lication.py", line 405, in initialize_subcommand
    subapp = import_item(subapp)
  File "C:\Python27\lib\site-packages\ipython-1.2.0-py2.7.egg\IPython\utils\impo
rtstring.py", line 42, in import_item
    module = __import__(package, fromlist=[obj])
  File "C:\Python27\lib\site-packages\ipython-1.2.0-py2.7.egg\IPython\html\noteb
ookapp.py", line 36, in <module>
    check_for_zmq('2.1.11', 'IPython.html')
  File "C:\Python27\lib\site-packages\ipython-1.2.0-py2.7.egg\IPython\utils\zmqr
elated.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

C:\Python27\Scripts>

【问题讨论】:

  • 我在win7上有同样的问题。当我在 cmd 行中输入 ipython notebook 时,输出的最后一行显示 ImportError: IPython.html requires pyzmq >= 2.1.11。你有类似的东西吗?
  • @Totem 你必须安装pyzmp。这是对 ipython 的要求
  • @joaquin - 我试过那个命令。它给了我一个错误。脚本文件只有一个 ipython.exe 文件。
  • edit您的问题提供您遇到的任何错误或追溯的完整文本。
  • @Totem if you are on windows get if from Gohlke

标签: python ipython ipython-notebook


【解决方案1】:

简答:

确保 pyzmq 安装在与 ipython 相同的虚拟环境中(或没有安装)。对我来说,ipython notebook 是按常规安装的,但它的依赖项放在了我的虚拟环境中。在适当的地方快速安装为我解决了这个错误。

长答案:

我将这个解决方案放在这里是因为错误消息是相同的,但我认为场景与原始海报不同。

我在一个虚拟盒子的虚拟环境中运行 iPython 笔记本。我认为虚拟盒位无关紧要,但虚拟环境则不然。我在虚拟环境中通过 pip 安装了 ipython[notebook] 并得到了同样的错误ImportError: IPython.html requires pyzmq &gt;= 2.1.11

但是,我可以清楚地看到 pyzmq 已安装pip freezepip install --upgrade pyzmq 都表明我有最新的 pyzmq 版本可用,它肯定 >= 2.1.11(pip freeze|grep pyzmq 给出 pyzmq==14.3.1)。

我退出了虚拟环境,再次检查了pyzmq,发现pyzmq安装在了virtualenv中。这应该是它应该工作的方式,但由于某种原因,ipython 正在寻找主要的 python 位置,而不是 virtualenv 的 python 位置。我怀疑 ipython 安装在虚拟环境之外。我不知道为什么 pyzmq 只安装在里面。无论如何,pip install pyzmq 我的虚拟环境修复了一切,现在一切正常。抱歉,答案很冗长。

【讨论】:

  • 我遇到了同样的问题。我在我的全局 python 环境中安装了 ipython。然后我用virtualenvwrapper 创建了一个virtualenv。我在那个 virtualenv 中安装了 ipython,但 which ipython 仍然指向全局 ipython。停用和重新激活 virtualenv 解决了这个问题。
【解决方案2】:

回溯清晰:

您必须安装 pyzmq

pyzmq 是 ipython notebook 的要求。
对于依赖列表check this

【讨论】:

  • 奇怪的是pip install ipython 没有安装所有的依赖。当你必须自己去工作时,包管理器有什么用?
  • 如果你做一个pip install "ipython[notebook]",你自己就没有工作可做。 (见install documentation)。
【解决方案3】:

iPython install documentation 说:

[...] 你可以通过 pip 获得 IPython:

pip install ipython

或者,如果您还想获取 IPython 笔记本的依赖项:

pip install "ipython[notebook]"

【讨论】:

    猜你喜欢
    • 2016-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-10
    • 2019-03-17
    • 2013-05-28
    相关资源
    最近更新 更多