純終端命令開始你的Anaconda安裝與Python環境管理
本篇博客爲博主某次閒得無聊運行了
rm -rf anaconda2/
後需要重新安裝Anaconda所寫。在看博客前,你需要知道,本篇博客針對Ubuntu,也就是Linux環境下的Anaconda與Python環境管理。
1 檢查系統的Python版本與下載
爲了確定需要安裝的Anaconda版本,需要先確定系統的Python版本,在你的終端運行以下命令查看python的版本:
python --version
在這裏,我的電腦顯示的版本爲Python 2.7.12
。
然後到Anaconda的官網找到適合的版本,參考下圖,這裏我選的是Python2.7 version 的64-Bit(x86) Installer,默認選擇這個,除非你的硬件支持Power 8和Power 9,複製下載地址如下:
https://repo.anaconda.com/archive/Anaconda2-2019.07-Linux-x86_64.sh
使用wget命令下載Anaconda2-2019.07-Linux-ppc64le.sh這個文件:
wget https://repo.anaconda.com/archive/Anaconda2-2019.07-Linux-x86_64.sh
2 終端開始安裝Anaconda
下載完畢後,即可運行以下命令開始安裝Anaconda:
bash Anaconda2-2019.07-Linux-x86_64.sh
接下來根據終端的提示完成安裝:
第一步、按回車繼續
第二步、按回車閱讀《Anaconda End User License Agreement》
閱讀完畢後進入第三步
第三步、輸入yes並按回車確認accept the license terms
第四步、按回車確認安裝路徑
第五步、開始解壓安裝,需要等待比較長一段時間
漫長的文件提取過程
第六步、等待安裝完之後,輸入yes然後按回車確認conda init
第七步、關掉終端,然後重新打開終端,輸入以下命令:
conda env list
沒有提示錯誤,並且返回conda environments,說明安裝成功。
我的系統返回結果如下:
(base) lab-chen.yirong@gpu-6:~$ conda env list
# conda environments:
#
base * /home/lab-chen.yirong/anaconda2
3 使用conda管理你的Python環境
3.1 基本命令
查看版本:
conda --version
或者
conda -V
查看幫助:
conda --help
或者
conda -h
更一般地,我們只需要在某一個命令後面加上--help
就可以獲得相對應的幫助,例如:
查看conda install
命令的幫助:
conda install --help
查看conda remove
命令的幫助:
conda create --help
3.2 conda管理環境與保存環境配置
3.2.1 環境管理原因與環境命名細則
在開始使用conda管理python環境之前,需要強調幾點:
1、因爲工作需要以及學習需要,我們通常需要不同版本的python或者不同版本的python的package來保證我們的代碼正常運行。例如,我們需要復現別人的NLP實驗,這裏以ACL2019的兩篇最佳論文爲例,某一篇論文運行環境是Python2.7+Tensorflow1.8.0(ACL2019的Emotion-Cause Pair Extraction: A New Task to Emotion Analysis in Texts,源碼);另一篇論文運行環境是Python2.8+Pytorch1.0.0(ACL2019的TRADE Multi-Domain and Unseen-Domain Dialogue State Tracking,源碼)。更一般地,由於python2和python3存在很大的差別,所以,我們的服務器可能至少需要兩個不同版本的python以便我們能夠同時使用python2和python3。
2、在正式管理環境的時候,需要規範一下自己的環境名稱,最好提前建立一套命名規則,其次,要學會保存好自己的環境配置,並且定期更新環境配置。所以,這裏談談命名規則:
- 一是要簡短,因爲我們進入環境前需要使用
conda activate env_name #env_name就是要激活的環境名稱
,所以簡短的名稱既容易記憶也容易打出來; - 二是不要使用下劃線,這會影響你的輸入速度;
- 三是要體現python版本;
- 四是可以考慮工程特性,例如是偏向於NLP還是偏向於CV;
- 五是可以考慮體現重要包,例如tensorflow、pytorch等。
例如:py27、py36、nlppy27、cvpy27、nlppy36、cvpy36、tfpy27、torchpy36等等。
3.2.2 查看已有python環境
在創建環境之前,一個好的習慣就是先查看已有的python環境,確保已有python環境不適合自己的任務,再去創建新的環境。
conda 提供了兩種列舉已有環境的命令,如下:
命令1:
conda env list
命令2:
conda info --envs
3.2.3 確定命名並且創建新的環境
一、創建一個python2.7的環境
不指定工程特性、考慮體現重要包,因此命名爲py27,因爲創建的單詞爲create,所以相對應的創建命名爲conda create
,我們可以通過以下命令獲取幫助:
conda create --help
常用的參數有--clone
、-n
,當然,幫助裏面還告訴了我們很多其他參數,可以以後慢慢了解。不妨直接拉到幫助的最後,因爲在最後面給出了一個使用例子,如下:
Examples:
conda create -n myenv sqlite
因此,參考這個Examples,完整的py27創建命令如下:
conda create -n py27 python=2.7 #python=2.7指定python版本
終端提示如下:
需要輸入y
並按回車確認創建環境:
環境創建完成後會有如下提示:
這個時候,我們可以用conda env list
來查看最新的環境列表,結果如下:
其中,帶*
的表示當前所處的環境,當然,在用戶名左側也會用一個加括號的環境名標記出來。
二、創建一個python3.6和一個最新版本python的環境
類似地,命令爲:
conda create -n py36 python=3.6 #python=3.6指定版本
目前最新版本的python爲python3.7.4【2019年08月03日參考python官網】,相應地,創建命令爲:
conda create -n py36 python=3.7 #python=3.7指定版本
最終,我們用conda env list
來查看最新的環境列表,如下:
至此,我們已經安裝完了相應的環境。
3.2.4 克隆環境與環境重命名
一、克隆環境
當然,在以後,我們還可能會因爲某一個包的版本而繼續增加環境,這個時候可能會用到環境複製功能,很明顯,如果python版本相同,只需要更改某個package,則先複製已有環境,再改變某個package的版本,即可完成相對應的環境設置,此時,建議環境命名爲某個包名+python版本。例如原先的py36當中的torch版本爲1.0.0,而我們希望其他包不變,只改變torch版本爲0.4.0則建議新建的環境名爲:torch04py36。完整的克隆環境命令如下:
conda create -n torch04py36 --clone py36 #torch04py36是新環境名,py36是待克隆環境名
此時再查看環境列表,如下:
我們再進入torch04py36
環境更改torch版本版本爲0.4即可。
二、環境重命名
環境重命名只需要先克隆環境,再刪除原來的環境即可,例如我想把torch04py36
更改爲th04py36
,則只需要按順序執行以下兩條命令:
第一條:
conda create -n th04py36 --clone torch04py36 # 新建一個命名爲th04py36的環境
第二條:
conda remove -n torch04py36 --all # 刪除環境torch04py36
3.2.5 保存/導出環境配置
前面已經強調了,一個很好的習慣就是要經常保存環境參數,那麼,導出環境配置通常分爲兩部分:
- 一、進入/激活(activate)該環境
- 二、導出環境配置到指定文件
這裏以導出py36
的環境配置爲例:
首先激活py36
環境:
conda activate py36 # conda activate 環境名
PS:退出當前環境的命令爲source deactivate
。
然後導出py36
環境配置到當前文件夾下,獎環境配置命名爲:環境名_env_日期,例如py36_env_190803.yml
,命令如下:
conda env export --file py36_env_190803.yml
我們可以用ls
命令查看當前文件夾下是否存在py36_env_190803.yml
,可以看到,當前文件夾下已經保存了該文件:
如果我們想通過別人的環境文件來創建相應的環境,例如:根據py36_env_190803.yml
創建環境python36,只需執行以下命令:
conda env create -n python36 --file py36_env_190803.yml
以上就是關於《純終端命令開始你的Anaconda安裝與Python環境管理》的所有內容,下一篇Python學習系列會詳細講述conda的包管理。
【作者簡介】陳藝榮,男,目前在華南理工大學電子與信息學院廣東省人體數據科學工程技術研究中心攻讀博士。曾獲2次華南理工大學三好學生、華南理工大學“優秀共青團員”、新瑪德一等獎學金(3000元,綜測第3)、華爲獎學金(5000元,綜測第3)、匯頂科技特等獎學金(15000元,綜測第1),兩次獲得美國大學生數學建模競賽(MCM)一等獎,獲得2016年全國大學生數學建模競賽(廣東賽區)二等獎、2017年全國大學生數學建模競賽(廣東賽區)一等獎、2018年廣東省大學生電子設計競賽一等獎等科技競賽獎項,主持一項2017-2019年國家級大學生創新訓練項目獲得優秀結題,參與兩項廣東大學生科技創新培育專項資金、一項2018-2019年國家級大學生創新訓練項目獲得良好結題、4項華南理工大學“百步梯攀登計劃”項目,發表SCI論文3篇授權實用新型專利5項,在受理專利17項(其中發明專利13項,11項進入實質審查階段)。
我的Github
我的CSDN博客
我的Linkedin