2015-11-04 68 views
2

在Ubuntu 15.04上,我在ipython2正确安装并使用笔记本的情况下,在将“/usr/local/lib/python2.7/dist-packages”添加到PYTHONPATH的情况下。Ipython3和Ipython2冲突

现在,我安装了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,我知道。但目前我想坚持这一点。我如何使它工作?

回答

4

除了高级用例,除了高级用例之外,很少有应该设置PYTHONPATH,并且您不应该将PYTHONPATH设置为一个Python版本的sys.path上已有的标准目录。唯一能做的就是破解Python,尤其是那些已经使用该目录的版本以外的版本。

你是如何安装ipython-notebook

要安装带有画中画的笔记本电脑,这样做:

pip3 install notebook 
jupyter notebook 

采取记下这个命令已安装的文件的路径。它可能在/usr/local

如果您获得的IPython版本比您期望的版本不同,那么可能会有一个easy-install.pth混淆您的导入路径。一个常见的问题造成的老旧破setuptools。您可以使用测试:

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

和/或

python3 -m site # shows your sys.path 

如果你看到开头的行/usr/libusr/local/lib/pythonX.Y/dist-packages/easy-install.pth,删除它们,它们会导致包的错误版本的进口。

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

python2 -m pip install ipython 
python3 -m pip install ipython 

重新安装(如果你想为这两个传统的Python和Python 3)

+0

感谢您的答复。所以,让我们忘掉PYTHONPATH吧,我删除了这个补充。正如我所说的,ipython3笔记本的工作原理。现在我删除了apt安装的ipython,并且ipython2笔记本给我提供了错误“ImportError:IPython Notebook需要tornado> = 4.0,但是您有3.2”。然而,pip2拒绝升级龙卷风,因为“发现现有安装:龙卷风3.2 不卸载在/usr/lib/python2.7/dist-packages上的龙卷风,由操作系统拥有” – Bzazz

+0

UPDATE我通过删除冲突的apt-获得安装版本的龙卷风。现在ipython2和3都在工作。感谢您的贡献。 – Bzazz