使用Conda來管理Python包

Anaconda


       Anaconda利用工具/命令conda來進行package和environment的管理,並且已經包含了Python和相關的配套工具。裏面的環境是分離開的,需要用到什麼環境可以進行切換,如同虛擬機一樣。包管理與pip的使用類似,環境管理則允許用戶方便地安裝不同版本的python並可以快速切換。Anaconda則是一個打包的集合,裏面預裝好了conda、某個版本的python、衆多packages、科學計算工具等等,所以也稱爲Python的一種發行版。

Anaconda的安裝


儘量按照Anaconda默認的行爲安裝——不使用root權限,僅爲個人安裝,安裝目錄設置在個人主目錄下(Windows就無所謂了)。這樣的好處是,同一臺機器上的不同用戶完全可以安裝、配置自己的Anaconda,不會互相影響。

對於Mac、Linux系統,Anaconda安裝好後,實際上就是在主目錄下多了個文件夾(~/anaconda)而已,Windows會寫入註冊表。安裝時,安裝程序會把bin目錄加入PATH(Linux/Mac寫入~/.bashrc,Windows添加到系統變量PATH),這些操作也完全可以自己完成。以Linux/Mac爲例,安裝完成後設置PATH的操作是

# 將anaconda的bin目錄加入PATH,根據版本不同,也可能是~/anaconda3/bin
echo 'export PATH="~/anaconda2/bin:$PATH"' >> ~/.bashrc
# 更新bashrc以立即生效
source ~/.bashrc

配置好PATH後,可以通過which conda或conda –version命令檢查是否正確。假如安裝的是Python 2.7對應的版本,運行python –version或python -V可以得到Python 2.7.12 :: Anaconda 4.1.1 (64-bit),也說明該發行版默認的環境是Python 2.7。

國內鏡像的設置

# 添加Anaconda的TUNA鏡像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

# 設置搜索時顯示通道地址
conda config --set show_channel_urls yes

Conda環境

       在Conda下最重要的就是環境的管理,否則默認的情況下的安裝都是基於默認環境的,默認環境的名字爲root。如果我們要用到其他環境的python。需要自己創建。

#查看當前存在的環境
conda info --envs
# 創建一個名爲python34的環境,指定Python版本是3.4(不用管3.4.x,conda會爲我們自動尋找3.4.x中的最新版本) 
conda create --name python34 python=3.4 

# 安裝好後,使用activate激活某個環境 
activate python34 # for Windows 
source activate python34 # for Linux & Mac 
# 激活後,會發現terminal輸入的地方多了python34的字樣,實際上,此時系統做的事情就是把默認2.7環境從PATH中去除,再把3.4對應的命令加入PATH 

# 此時,再次輸入 
python --version 
# 可以得到`Python 3.4.5 :: Anaconda 4.1.1 (64-bit)`,即系統已經切換到了3.4的環境 
# 如果想返回默認的python 2.7環境,運行 
deactivate python34 # for Windows 
source deactivate python34 # for Linux & Mac 

# 刪除一個已有的環境 
conda remove --name python34 --all

Conda包的管理

       在相應的環境中,運行

# 安裝scipy 
conda install scipy 
# conda會從從遠程搜索scipy的相關信息和依賴項目,對於python 3.4conda會同時安裝numpy和mkl(運算加速的庫) 

# 查看已經安裝的packages 
conda list 
# 最新版的conda是從site-packages文件夾中搜索已經安裝的包,不依賴pip,因此可以顯示出通過各種方式安裝的包

# 查看當前環境下已安裝的包
conda list

# 查看某個指定環境的已安裝包
conda list -n python34

# 查找package信息
conda search numpy

# 安裝package
conda install -n python34 numpy
# 如果不用-n指定環境名稱,則被安裝在當前活躍環境
# 也可以通過-c指定通過某個channel安裝

# 更新package
conda update -n python34 numpy

# 刪除package
conda remove -n python34 numpy

# 更新conda,保持conda最新
conda update conda

# 更新anaconda
conda update anaconda

# 更新python
conda update python
# 假設當前環境是python 3.4, conda會將python升級爲3.4.x系列的當前最新版本

# 在當前環境下安裝anaconda包集合
conda install anaconda

# 結合創建環境的命令,以上操作可以合併爲
conda create -n python34 python=3.4 anaconda
# 也可以不用全部安裝,根據需求安裝自己需要的package即可
#若安裝需from the conda-forge channel
conda install -c conda-forge packagename
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章