无法启动 IPython:“ImportError:无法导入名称 start_ipython”

无法启动 IPython:“ImportError:无法导入名称 start_ipython”

我正在尝试从终端启动 IPython。我输入:

ipython

进入终端,我得到以下输出:

Traceback (most recent call last):
  File "/usr/local/bin/ipython", line 4, in <module>
    from IPython import start_ipython
ImportError: cannot import name start_ipython

奇怪的是,有时 IPython 确实可以工作并且我可以让它启动,但我真的不知道为什么它有时不工作。

有人可以帮我一下吗?

答案1

默认 Ubuntu 存储库中的 IPython 未安装 ipython,因此/usr/local/bin/看起来您已通过其他方式安装了 IPython,现在它无法正常启动。最简单的恢复正常方法是卸载 IPython,然后从 Ubuntu 存储库重新安装 IPython。您可以在 Ubuntu 软件中找到 IPython,也可以通过其包名称引用它伊帕特里克

现在 IPython 2.x 已经变得不那么有用了,是时候考虑使用以下命令安装 IPython 3.x 了:

sudo apt install python3-ipython

答案2

我在更新后遇到了这个问题。问题是有两个版本的 ipython 发生冲突,一个是我使用 synaptic 安装的 0.13.2 版本,另一个是我从源代码安装的 3.1.0 版本。

在我的 中/usr/local/bin/ipython,我有以下代码:

#!/usr/bin/python
# This script was automatically generated by setup.py
if __name__ == '__main__':
    from IPython import start_ipython
    start_ipython()

据我所知http://nullege.com/codes/search/IPython.start_ipython,似乎在较新版本的 ipython 中已经实现了 start_ipython,但出于某种原因,当我在 python shell 中导入 IPython 时,导入的是版本 0.13.2。它没有 start_ipython 函数,因此引发了ImportError

现在我已经删除了旧版本的 ipython,新版本运行良好。

相关内容