iPython 笔记本入门

iPython 笔记本入门

请不要认为这是重复的。我看过类似的帖子,推荐的解决方案没有解决我的问题。我需要输入,因为我在其他地方找不到解决方案,而且 iPython 似乎没有支持论坛。

我正在尝试在 Kubuntu 14.04 上使用 iPython 笔记本,但无法启动它。我发现这个帖子并尝试了安装依赖项的推荐解决方案系统提示python-pip、python-dev已经是最新版本,build-essential无响应。

如果使用pipPython 包进行安装,启动哪个 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 和许多其他语言。

一台服务器可以打开运行您在机器上安装的任何一个内核,并且您可以使用魔法命令在单个笔记本中混合其中一些内核。

相关内容