【问题标题】:ipython server can't launch: No module named notebook.notebookappipython 服务器无法启动:没有名为 notebook.notebookapp 的模块
【发布时间】:2015-10-02 13:07:35
【问题描述】:

我一直在尝试按照几个教程设置 ipython 服务器(因为没有一个完全符合我的情况)。几天前,我确实设法将它启动到它启动的地步,但随后无法通过 url 访问它。今天它不再启动,我找不到太多关于我得到的这个特定错误的信息:

Traceback (most recent call last):
  File "/usr/local/bin/ipython", line 9, in <module>
    load_entry_point('ipython==4.0.0-dev', 'console_scripts', 'ipython')()
  File "/usr/local/lib/python2.7/dist-packages/ipython-4.0.0_dev-py2.7.egg/IPython/__init__.py", line 118, in start_ipython
    return launch_new_instance(argv=argv, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/traitlets-4.0.0-py2.7.egg/traitlets/config/application.py", line 591, in launch_instance
    app.initialize(argv)
  File "<string>", line 2, in initialize
  File "/usr/local/lib/python2.7/dist-packages/traitlets-4.0.0-py2.7.egg/traitlets/config/application.py", line 75, in catch_config_error
    return method(app, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/ipython-4.0.0_dev-py2.7.egg/IPython/terminal/ipapp.py", line 302, in initialize
    super(TerminalIPythonApp, self).initialize(argv)
  File "<string>", line 2, in initialize
  File "/usr/local/lib/python2.7/dist-packages/traitlets-4.0.0-py2.7.egg/traitlets/config/application.py", line 75, in catch_config_error
    return method(app, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/ipython-4.0.0_dev-py2.7.egg/IPython/core/application.py", line 386, in initialize
    self.parse_command_line(argv)
  File "/usr/local/lib/python2.7/dist-packages/ipython-4.0.0_dev-py2.7.egg/IPython/terminal/ipapp.py", line 297, 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/traitlets-4.0.0-py2.7.egg/traitlets/config/application.py", line 75, in catch_config_error
    return method(app, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/traitlets-4.0.0-py2.7.egg/traitlets/config/application.py", line 487, 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/traitlets-4.0.0-py2.7.egg/traitlets/config/application.py", line 75, in catch_config_error
    return method(app, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/traitlets-4.0.0-py2.7.egg/traitlets/config/application.py", line 418, in initialize_subcommand
    subapp = import_item(subapp)
  File "build/bdist.linux-x86_64/egg/ipython_genutils/importstring.py", line 31, in import_item
ImportError: No module named notebook.notebookapp

关于设置,我已经安装了 ipython、pyzmq 和 tornado 库的 anaconda 发行版。我创建了一个配置文件 nbserver,配置文件如下 - ipython.config.py:

c = get_config()
c.IPKernalApp.pylab = 'inline'
c.NotebookApp.certfile = u'/home/ludo/.ipython/profile_nbserver/mycert.pem'
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.password = u'sha1:e6cb2aa9a[...]'
c.NotebookApp.port = 9999
c.NotebookManager.notebook_dir = u'/var/www/ipynb/'
c.NotebookApp.base_project_url = '/ipynb/'
c.NotebookApp.base_kernel_url = '/ipynb/'
c.NotebookApp.webapp_settings = {'static_url_prefix':'/ipynb/static/'}

我真的不知道去哪里寻找线索了——而且我可能对这一切是如何解决的缺乏更深入的了解。我的最终目标是在 SO 上使用this question 的答案来完成 apache 背后的设置并最终将其连接到 colaboratory - 但似乎它应该首先启动。

非常感谢您的帮助:)

【问题讨论】:

  • 我投票结束这个问题,因为用户正在请求帮助安装软件的开发版本,而它应该坚持使用稳定版本。
  • 请选择@AndySmith的answer,让它浮到最上面,因为它更正确。

标签: python server ipython


【解决方案1】:

如果你现在不这样做,你不应该尝试从 github master 分支安装。删除您已安装的内容并坚持使用稳定版本。

如果您想在开发版上工作,请在开发版邮件列表中询问。可能需要一些关于如何调试的知识。

【讨论】:

  • 非常正确@Matt,没有注意到我正在安装此tutorial 之后的开发版本...我将卸载它并再次尝试干净,谢谢。
【解决方案2】:

我在升级 IPython 时遇到了同样的问题。在写答案的那一刻,这是一个与最新4 版本相关的错误。如果出现类似问题希望切换回稳定版3.2.1

pip uninstall -y IPython
pip install ipython==3.2.1

【讨论】:

  • 嗨,Meduz,是的,我盲目地遵循了一个教程,并没有意识到我通过 git 安装了一个开发版本......对于微软来说奇怪的是建议这个安装来让你的 DS 环境......无论如何,我卸载了,修改了我的 shell 路径以便能够使用 anaconda 实例(我也安装了它),在我的防火墙 conf 文件上打开了我的端口,最后设法让所有这些都启动并运行......唷!毕竟,你真正学到的是搞砸了:)
  • 为澄清起见,当我这样做时,我能够让它为我想要的工作:pip install ipython[notebook]==3.2.1
  • -1:这不是 iPython 本身的错误;只是它不会强迫您安装 notebook 命令的依赖项(在 3.2 中也发生了完全相同的事情,只是带有一些信息量更大的错误消息)。上面的评论有正确的解决方案。
  • 为了扩展@DaveC 和@Ben 的观点,只需运行pip install ipython[notebook] 即可使用最新版本的ipython notebook 解决问题。
  • 我更新了措辞,以反映这个“错误”在提出问题之前已经修复 - 顺便说一句,请注意现在 jupyter 在这里,请参阅blog.jupyter.org/2015/08/12/first-release-of-jupyter
【解决方案3】:

所以要关闭这个线程,以防它对任何人有帮助,我的错误是盲目地按照教程安装和使用了 ipython 的开发版本,以为我使用的是我之前安装的 anaconda 实例(甚至不在我的路径)。

无论如何我:

  • 卸载了那个 ipython 开发实例
  • 将 anaconda/bin 添加到我的 zsh 路径(将其添加到 ~/.zshrc - 这就是为什么它在安装后甚至不在我的路径中)// 此时服务器启动正常但我不能在我的浏览器中访问它>>防火墙问题。
  • 在我的防火墙中打开了我选择的端口(一般为linodeubuntu 提供帮助)

现在一切正常。

【讨论】:

    【解决方案4】:

    这应该可以解决问题:

    pip install jupyter
    

    【讨论】:

    • 啊啊!这太棒了!非常感谢,如果没有你的回答,我可能会浪费几个小时
    • 如果您使用 Anaconda:以管理员身份启动 Anaconda 提示符(如果您在 Windows 上),然后conda update conda &amp;&amp; conda update ipython &amp;&amp; conda install jupyter
    • jupyter 越来越成为您想通过 ipython 使用笔记本时使用的工具。长篇大论,请参阅ipython.org
    • 我正在尝试pip install jupyter,但我收到此错误:No distributions at all found for entrypoints (from nbconvert-&gt;jupyter)
    【解决方案5】:

    有人在评论中提到了这一点,它(几乎)对我有用:

    pip install ipython[notebook]
    

    pip 给出了一个关于哈希不匹配的错误。然而,最终奏效的是:

    sudo port install py27-notebook
    

    对于 py3:

    sudo port install py35-notebook
    

    【讨论】:

      猜你喜欢
      • 2015-10-02
      • 1970-01-01
      • 2020-09-05
      • 2020-06-21
      • 1970-01-01
      • 2020-10-10
      • 2014-09-28
      • 1970-01-01
      • 2019-02-23
      相关资源
      最近更新 更多