2015-11-04 139 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