[英]How to clean iPython environment so I can start over with Jupyter and Python 3.x?
在過去的幾年里,我在不知道自己在做什么的情況下pip installed
很多東西。 突然間,當我在 Python 2.7 Jupyter Notebook 中運行代碼段時出現此錯誤:
ImportError: No module named matplotlib
當我在終端中運行它時: which -a python python 3
... 我得到:
Sams-MacBook-Pro-2:~ sambrand$ which -a python python3
//anaconda/bin/python
/usr/local/bin/python
/usr/bin/python
/usr/local/bin/python
我認為這表明我在一些地方使用了 Python,這可能解釋了為什么在我想要使用的 Python 環境中找不到我的標准庫(例如 matplotlib)。
我的理想結果:
最終,我只想清理我的環境並從頭開始,這樣我就可以在打開 Jupyter Notebook 時使用 Keras、Tensorflow 和所有以 Python 3 作為默認值的 Anaconda 包。
此外,我希望從終端pip install
任何后續pip install
以更新我在 Jupyter 中使用的內容。
據我所知,這種對 Python 環境的困惑是一個相當普遍的問題,所以我希望這篇文章能有所幫助。
在同一台機器上有很多 python 版本是很常見的情況。 要清理您的python
您需要執行以下步驟:
請記住,對於 OSX 10.15,“本機” python
版本仍然是 2.7。 它位於/usr/bin/
。 (實際路徑是/System/Library/Frameworks/Python.framework/Versions/2.7/bin/
但其實是一樣的。)如果想回滾到干凈的系統python
環境,其他的都需要刪除。
首先,您需要找到所有其他蟒蛇。 在我的機器上是這樣的:
$ which -a python python3 /Users/yura/anaconda3/bin/python # <- Anaconda /opt/local/bin/python # <- ports /opt/local/bin/python # <- ports /opt/local/bin/python # <- ports /opt/local/bin/python # <- ports /usr/bin/python # <- "native" ~/anaconda3/bin/python3 # <- Anaconda /Library/Frameworks/Python.framework/Versions/3.5/bin/python3 # <- python3 for OSX /usr/local/bin/python3 # <- python3 for OSX```
如您所見,我從mac ports
安裝了更多東西,我下載了用於 Mac 的python3
並手動安裝,並且我還錯誤地安裝了 Anaconda(從這里看不到,但該安裝具有錯誤的訪問權限)。 另外,你可能有一些來自homebrew
東西,我不使用。 它也會出現在/usr/local/bin
。 好吧,讓我們開始吧!
刪除 Anaconda: $ rm -rf ~/anaconda3
從/Library/Frameworks/Python.Framework/
刪除所有內容:
$ sudo rm -rf /Library/Frameworks/Python.Framework/
從/Applications/Python*/
刪除所有內容,您可以手動安裝:
$ sudo rm -rf /Applications/Python*
從/usr/local/bin
刪除所有符號鏈接:
$ sudo rm /usr/local/bin/python*
刪除所有由pip
在~/Library/Python/
安裝的軟件包:'
$ rm -rf ~/Library/Python/
最后,您還可以刪除所有與port
相關的文件,它們位於/opt/local/bin/python*
。 警告:它可能會破壞其他一些port
包! 因此,最准確的方法是使用port
本身(但您可以跳過此步驟,以使 port 中的其他軟件保持不變):
$ sudo port uninstall python*
就是這樣! 現在你只有一個系統python2.7
。 您可以下載Anaconda並安裝它:
$ sh Anaconda3-*-MacOSX-x86_64.sh
現在你有了一個新的python3
。 要檢查這一點,請打開一個新終端並嘗試:
$ python --version Python 3.6.5 :: Anaconda, Inc.
matplotlib
和所有其他科學的東西,如pandas
等已經存在:
$ python -c "import matplotlib as mpl; print(mpl.__version__)" 2.2.2
保持“干凈”的最佳做法是使用虛擬環境。 您可以使用conda
來做到這一點。
從終端運行:
conda create -n envs_name python=3.6
例如。
之后你需要激活它,這就像說“只在我的虛擬環境中而不是在全局環境中執行以下操作”:
source activate envs_name
pip install keras
pip install tensorflow
pip install ipykernel
ipykernel 讓您可以在 Jupyter 中管理您的環境。
這真的很簡單方便。
我花了幾個小時,我還沒有“清理”我的環境,但是我能夠按照以下步驟在 Jupyter notebook 中運行 Python 3、Keras、Tensorflow 和 Anaconda:
Pip install Keras
從終端(出於某種原因Keras沒有Anaconda的導航顯示,建議在這個崗位)Pip install Tensorflow
Jupyter Notebook
我收到此錯誤“沒有名為 Keras 的模塊”。我正在從 Jupyter Notebook 執行 !pip install keras 和 !pip install tensorflow(按此順序)。在我執行以下操作后,錯誤消失了。
現在在 jupyternotebook from keras import Sequential 工作正常
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.