Jupyter 导入错误:无法导入名称 'create_prompt_application' ubuntu 18.04

Ami*_*ati 11 jupyter-notebook ubuntu-18.04

我已经在 Ubuntu 18.04 上安装了 jupypter。当我尝试打开 .ipynb 文件时,它说尝试连接到服务器并最终失败。当我查看控制台时,我看到以下错误:

导入错误:无法导入名称 'create_prompt_application' 如下

[I 14:37:41.311 NotebookApp] KernelRestarter: restarting kernel (4/5), new random ports
Traceback (most recent call last):
  File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/usr/local/lib/python3.6/dist-packages/ipykernel_launcher.py", line 15, in <module>
    from ipykernel import kernelapp as app
  File "/usr/local/lib/python3.6/dist-packages/ipykernel/__init__.py", line 2, in <module>
    from .connect import *
  File "/usr/local/lib/python3.6/dist-packages/ipykernel/connect.py", line 13, in <module>
    from IPython.core.profiledir import ProfileDir
  File "/usr/lib/python3/dist-packages/IPython/__init__.py", line 49, in <module>
    from .terminal.embed import embed
  File "/usr/lib/python3/dist-packages/IPython/terminal/embed.py", line 18, in <module>
    from IPython.terminal.interactiveshell import TerminalInteractiveShell
  File "/usr/lib/python3/dist-packages/IPython/terminal/interactiveshell.py", line 20, in <module>
    from prompt_toolkit.shortcuts import create_prompt_application, create_eventloop, create_prompt_layout, create_output
ImportError: cannot import name 'create_prompt_application'
[W 14:37:44.322 NotebookApp] KernelRestarter: restart failed
Run Code Online (Sandbox Code Playgroud)

一些与 IPyton 相关的帖子建议将 prompt-toolkit 降级。我运行deptree来获取依赖树如下,这表明安装了prompt-toolkit 2.0.9并且jupyter-console所需的版本应该在2.0.0和2.0.1之间

- jupyter-console [required: Any, installed: 6.0.0]
    - ipykernel [required: Any, installed: 5.1.0]
      - ipython [required: >=5.0.0, installed: 5.5.0]
        - pexpect [required: Any, installed: 4.2.1]
      - jupyter-client [required: Any, installed: 5.2.4]
        - jupyter-core [required: Any, installed: 4.4.0]
          - traitlets [required: Any, installed: 4.3.2]
        - python-dateutil [required: >=2.1, installed: 2.6.1]
        - pyzmq [required: >=13, installed: 18.0.1]
        - tornado [required: >=4.1, installed: 6.0.1]
        - traitlets [required: Any, installed: 4.3.2]
      - tornado [required: >=4.2, installed: 6.0.1]
      - traitlets [required: >=4.1.0, installed: 4.3.2]
    - ipython [required: Any, installed: 5.5.0]
      - pexpect [required: Any, installed: 4.2.1]
    - jupyter-client [required: Any, installed: 5.2.4]
      - jupyter-core [required: Any, installed: 4.4.0]
        - traitlets [required: Any, installed: 4.3.2]
      - python-dateutil [required: >=2.1, installed: 2.6.1]
      - pyzmq [required: >=13, installed: 18.0.1]
      - tornado [required: >=4.1, installed: 6.0.1]
      - traitlets [required: Any, installed: 4.3.2]
    - prompt-toolkit [required: >=2.0.0,<2.1.0, installed: 2.0.9]
Run Code Online (Sandbox Code Playgroud)

关于什么可能是错误的以及我应该怎么做的任何想法?谢谢

小智 12

sudo pip3 uninstall ipython

sudo pip3 install ipython

为我解决了错误 试试看。

sudo pip3 install 'prompt-toolkit<2.1.0,>=2.0.0' --force-reinstall


Arj*_*ijk 12

最好jupyter-console使用以下命令升级:

pip3 install --upgrade --force jupyter-console
Run Code Online (Sandbox Code Playgroud)

然后它将与更高版本的prompt-toolkit.

此 github 问题中的更多详细信息。