Ipython3和Ipython2冲突

时间:2015-11-04 14:55:28

标签: python ubuntu ipython ipython-notebook

在Ubuntu 15.04上,我正确地安装了ipython2并使用笔记本,条件是我将“/usr/local/lib/python2.7/dist-packages”添加到PYTHONPATH。

现在,我安装了python3和ipython3。 ipython3 notebook完美地工作(假设我从pythonpath中删除了上面的引用)。但是ipython2 notebook会返回

Could not start notebook. Please install ipython-notebook

不管PYTHONPATH。

我在/ usr / bin /中安装了python2和python3,并在/ usr / local / bin中安装了ipython2和ipython3。 ipythons安装了pip和pip3。

现在,如果我安装ipython-notebook,它会在/ usr / bin中安装(我认为)另一个ipython,这也不起作用。

这有点令人困惑,换句话说,我有一堆乱七八糟的python发行版。 我知道下次我应该使用anaconda。但此刻我想坚持这一点。我如何使它工作?

1 个答案:

答案 0 :(得分:4)

除了高级用例之外,你很少应该设置PYTHONPATH,并且你永远不应该将PYTHONPATH设置为一个版本的Python已经在sys.path上的标准目录。唯一可以做的就是破解Python,特别是那个已经使用过该目录的版本。

您如何安装async

要使用pip安装笔记本,请执行:

ipython-notebook

记下该命令安装文件的路径。它可能会在pip3 install notebook jupyter notebook

如果您获得的IPython版本与您预期的不同,那么可能会有/usr/local弄乱您的导入路径。旧的和破碎的easy-install.pth导致的常见问题。你可以用以下方法测试:

setuptools

和/或

python3 -c 'import IPython; print(IPython.__file__)'

如果您在python3 -m site # shows your sys.path 中看到以/usr/lib开头的行,请将其删除,否则会导致导入错误版本的包。

通常,最简单的方法是删除软件包的所有版本并重新开始。您可以尝试usr/local/lib/pythonX.Y/dist-packages/easy-install.pth,并继续重复,直到它说没有安装任何版本。您可能还使用pip uninstall ipython安装了IPython,在这种情况下,您可以使用apt-get将其删除。一旦您确信系统上没有IPython,就可以使用

重新安装
apt-get remove ipython

(如果你想要它用于Legacy Python和Python 3)