请不要认为这是重复的。我看过类似的帖子,推荐的解决方案没有解决我的问题。我需要输入,因为我在其他地方找不到解决方案,而且 iPython 似乎没有支持论坛。
我正在尝试在 Kubuntu 14.04 上使用 iPython 笔记本,但无法启动它。我发现这个帖子并尝试了安装依赖项的推荐解决方案系统提示python-pip、python-dev已经是最新版本,build-essential无响应。
如果使用pip
Python 包进行安装,启动哪个 Python 解释器会有什么不同吗?在解决此问题时,我发现我的系统上安装了 Python 2.7.6 和 3.4.0。这会有什么不同吗?根据我对要求的理解,iPython 应该可以在任一版本的 Python 上运行。
在寻找解决方案的过程中,我遇到了ipython notebook --notebook-dir='<path/to/notebooks>'
。我将变量设置为我的主目录下的路径。这没有什么区别。如果它尝试通过输入来启动,ipython notebook
我会得到以下回溯:
Traceback (most recent call last):
File "/usr/local/bin/ipython", line 11, in <module>
sys.exit(start_ipython())
File "/usr/local/lib/python2.7/dist-packages/IPython/__init__.py", line 120, in start_ipython
return launch_new_instance(argv=argv, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/IPython/config/application.py", line 573, in launch_instance
app.initialize(argv)
File "<string>", line 2, in initialize
File "/usr/local/lib/python2.7/dist-packages/IPython/config/application.py", line 75, in catch_config_error
return method(app, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/IPython/terminal/ipapp.py", line 321, in initialize
super(TerminalIPythonApp, self).initialize(argv)
File "<string>", line 2, in initialize
File "/usr/local/lib/python2.7/dist-packages/IPython/config/application.py", line 75, in catch_config_error
return method(app, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/IPython/core/application.py", line 369, in initialize
self.parse_command_line(argv)
File "/usr/local/lib/python2.7/dist-packages/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 "/usr/local/lib/python2.7/dist-packages/IPython/config/application.py", line 75, in catch_config_error
return method(app, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/IPython/config/application.py", line 471, in parse_command_line
return self.initialize_subcommand(subc, subargv)
File "<string>", line 2, in initialize_subcommand
File "/usr/local/lib/python2.7/dist-packages/IPython/config/application.py", line 75, in catch_config_error
return method(app, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/IPython/config/application.py", line 402, in initialize_subcommand
subapp = import_item(subapp)
File "/usr/local/lib/python2.7/dist-packages/IPython/utils/importstring.py", line 42, in import_item
module = __import__(package, fromlist=[obj])
File "/usr/local/lib/python2.7/dist-packages/IPython/html/notebookapp.py", line 30, in <module>
check_for_zmq('13', 'IPython.html')
File "/usr/local/lib/python2.7/dist-packages/IPython/utils/zmqrelated.py", line 12, in check_for_zmq
raise ImportError("%s requires pyzmq >= %s"%(required_by, minimum_version))
ImportError: IPython.html requires pyzmq >= 13
其他问题
在听取了 Steve Barnes 的建议后,我不确定一切是否都正常运转。为了让 iPython 正常工作,我必须在我的计算机上所有其他网站的根目录下创建笔记本目录。
在命令提示符中输入ipython notebook
我得到以下输出:
16:33:11 Fri Jul 31 - ~/www/ipython_notebooks
$> ipython notebook
[I 16:33:15.571 NotebookApp] Using MathJax from CDN: https://cdn.mathjax.org/mathjax/latest/MathJax.js
[I 16:33:15.588 NotebookApp] Serving notebooks from local directory: /home/daniel/www/ipython_notebooks
[I 16:33:15.588 NotebookApp] 0 active kernels
[I 16:33:15.589 NotebookApp] The IPython Notebook is running at: http://localhost:8888/
[I 16:33:15.589 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 16:33:16.801 NotebookApp] 405 HEAD /tree (127.0.0.1) 5.74ms referer=None
在我的浏览器中,URL 是意外的。它显示为
file:///var/tmp/kdecache-daniel/krun/6915_0_tree
内容显示为没有 CSS 的 HTML。任何链接或下拉菜单均不起作用。要使网页按预期工作,必须http://localhost:8888/notebooks/
明确输入 URL。接下来呈现的页面对于 Jupyter 和 iPython 来说都是意外的。
我想添加屏幕截图,但显然我的声誉不够。我感觉我遗漏了一些东西。有人能告诉我他们是否遇到过类似的结果以及如何修复它吗?
答案1
最后一行告诉你你的问题是什么:
ImportError: IPython.html requires pyzmq >= 13
你的系统没有 pyzmq 或者版本太旧 - 请尝试:
sudo pip install -U pyzmq
-U 与 --upgrade 相同,将请求安装与您的 python 版本兼容的最新版本的 pyzmq。
您可能必须安装一些其他依赖项才能使其工作,例如与您当前的 python 版本相匹配的 python-dev 包,该包需要与一起安装apt-get install
。
对于大多数用户来说,iPython 及其 Notebook 可能还有其他未满足的和可选的依赖项需要您满足sudo pip install -U
组件名称就可以了。我还建议阅读 Python虚拟环境
更多注释
一旦 iPython 在笔记本模式下运行,您将需要浏览到 localhost:8888http://tree 或 //localhost:8888/tree,如命令窗口中最后一行所示,请注意,/tree 是一种视图类型,而不是实际的目录,并且将显示你启动 iPython 的目录中的任何笔记本和子目录。
您可能还会感到困惑,因为服务器现在被称为jupyter这是因为 iPython 的笔记本功能已经发展成为一种独立项目支持 Python 2/3、Julia、R、Haskell、Ruby 和许多其他语言。
一台服务器可以打开运行您在机器上安装的任何一个内核,并且您可以使用魔法命令在单个笔记本中混合其中一些内核。