anaconda安裝
anaconda安裝後,python變爲python3,改爲python2.7的處理方法:
原因在於python的軟連接被修改,
/usr/bin/python -> /usr/local/python3/bin/python3
軟連接的查看可以使用以下命令:
ls -l /usr/bin/python
注意青色的爲軟連接,綠色的爲文件夾。
我們可以發現:
/usr/bin/python2 -> python2.7
於是只需刪除python的軟鏈接,同時將python2.7鏈接到python即可。
先刪除默認的Python軟鏈接:
sudo rm /usr/bin/python
然後創建一個新的軟鏈接指向需要的Python版本:
sudo ln -s /usr/bin/python3.5 /usr/bin/python
爲什麼不用alias的原因
參考知乎未聞Code
問題的根源就在你的alias上面。
zsh 的alias的優先級是非常高的,它會首先替換爲等號後面的內容,然後再執行。那麼即使在虛擬環境下,在終端輸入python並回車以後,實際執行的代碼是:
/usr/local/bin/python3
你使用了絕對路徑打開了系統中的Python3。
而由於你沒有對pip 設定alias, 因此你使用pip 安裝requests的時候,它調用的是虛擬環境下面的pip,所以requests會正確安裝在虛擬環境下面。
–
若使用alias,則虛擬環境中python也只能是python2,影響使用。
conda管理虛擬環境的常用命令如下:
轉載至AlexInML
conda虛擬環境:conda create -n envname
conda激活虛擬環境:source activate envname
conda退出虛擬環境:source deactivate
conda列出所有虛擬環境:conda env list
conda克隆虛擬環境:conda create -n envname --clone evnname1
conda刪除虛擬環境:conda remove -n envname --all
conda虛擬環境安裝包:conda install -n envname package, 例如:conda install -n envname tensorflow-gpu=1.2.1
pip使用
(創建虛擬環境後如果直接用pip安裝python包,默認會使用全局pip,所以pip安裝的包會對所有環境生效。如果要安裝只對某個虛擬環境生效的python包,
(1)可以指定虛擬環境名稱:conda install -n envname tensorflow-gpu=1.2.1;
(2)也可以在創建虛擬環境的時候指定pip只對當前環境生效,參考鏈接:
conda create -n superbad pip # 可以直接在虛擬環境中使用pip而不會影響全局庫
source activate superbad
pip install -e fnawesome # installing into superbad site packages
ipython # runs superbad ipython
python # runs the environment's python with access to fnawesome
source deactivate
ipython # no access to fnawesome
python版本
如果系統中同時存在python2和python3,在用conda創建虛擬環境的時候可以指定使用哪個版本的python:
conda create -n new-env python=2.7 pip