我們可以使用conda 來切換不同的環境,主要的用法如下:
1. 創建環境
# 指定python版本爲2.7,注意至少需要指定python版本或者要安裝的包
# 後一種情況下,自動安裝最新python版本
conda create -n env_name python=2.7
# 同時安裝必要的包
conda create -n env_name numpy matplotlib python=2.7
# 也可以使用默認的python
conda create -n env_name
2.激活環境
# 切換到新環境# linux/Mac下需要使用source activate env_name
source activate env_name
3.退出環境
#退出環境,也可以使用`activate root`切回root環境
source deactivate
4.移除環境
conda remove -n env_name --all
# 同時需要刪除home目錄下的.conda下的environments.txt裏面的內容。
切換到環境下的界面如下:
我們再gcc49這個環境裏升級了gcc-4.9.1,因此我們可以看看最後的版本爲:
但是切換回原來的環境下,發現gcc還是原來的版本:
這就告訴我們可以靈活運用這一機制,在服務器權限受限的條件下,可以使用conda的環境管理,安裝升級某些軟件,這樣一旦切換成某個環境後,系統會先讀取環境下的lib,bin,include等文件,然後纔讀取系統默認的。這樣就可以覆蓋原來的一些配置。
當然了,你可以在home目錄下安裝一些軟件,但是如果你想覆蓋原來的軟件,必須在bashrc中寫path環境變量(以及lib等目錄也需要配置。),且將相應地路徑寫在最前面,即:
export PATH=/*/lib:$PATH
這樣bashrc就很亂,採用上面的方法默認就是先讀取env裏的軟件,然後讀取系統裏的軟件,而且也不需要配置。
何樂而不爲~~~
【說明1】conda裏install的軟件都是個人編譯打包的,可以在https://anaconda.org/ 裏面找,搜索對應版本,然後運行裏面給出的命令即可切換成你要的,比如
- opencv(包括opencv2,opencv3):https://anaconda.org/menpo/repo?type=conda&label=main
- gcc:https://anaconda.org/serge-sans-paille/gcc_49
或者conda install libgcc
【說明2】升級gcc4.9.1時,發現env裝的gcc都帶有‘ -4.9’,因此需要建立軟連接gcc,鏈接到gcc-4.9 ,
即: ln -s gcc-4.9 gcc ,該路徑下的其他軟件同理。