anaconda的使用總結

2022-08-27 05:27:11 字數 3965 閱讀 8636

python易用,但用好卻不易,其中比較頭疼的就是包管理和python不同版本的問題,特別是當你使用windows的時候。為了解決這些問題,有不少發行版的python,比如winpython、anaconda等,這些發行版將python和許多常用的package打包,方便pythoners直接使用,此外,還有virtualenv、pyenv等工具管理虛擬環境。

個人嘗試了很多類似的發行版,最終選擇了anaconda,因為其強大而方便的包管理與環境管理的功能。該文主要介紹下anaconda,對anaconda的理解,並簡要總結下相關的操作。

進入下文之前,說明一下conda的設計理念——conda將幾乎所有的工具、第三方包都當做package對待,甚至包括python和conda自身!因此,conda打破了包管理與環境管理的約束,能非常方便地安裝各種版本python、各種package並方便地切換。

安裝時,會發現有兩個不同版本的anaconda,分別對應python 2.7和python 3.5,兩個版本其實除了這點區別外其他都一樣。後面我們會看到,安裝哪個版本並不本質,因為通過環境管理,我們可以很方便地切換執行時的python版本。(由於我常用的python是2.7和3.4,因此傾向於直接安裝python 2.7對應的anaconda)

# 將anaconda的bin目錄加入path,根據版本不同,也可能是~/anaconda3/bin

echo 'export path="~/anaconda2/bin:$path"' >> ~/.bashrc

# 更新bashrc以立即生效

source ~/.bashrc

配置好path後,可以通過which condaconda --version命令檢查是否正確。假如安裝的是python 2.7對應的版本,執行python --versionpython -v可以得到python 2.7.12 :: anaconda 4.1.1 (64-bit),也說明該發行版預設的環境是python 2.7。

假設我們需要安裝python 3.4,此時,我們需要做的操作如下:

# 建立乙個名為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

說明:有些使用者可能經常使用python 3.4環境,因此直接把~/anaconda/envs/python34下面的bin或者scripts加入path,去除anaconda對應的那個bin目錄。這個辦法,怎麼說呢,也是可以的,但總覺得不是那麼elegant……

如果直接按上面說的這麼改path,你會發現conda命令又找不到了(當然找不到啦,因為conda在~/anaconda/bin裡呢),這時候怎麼辦呢?方法有二:1. 顯式地給出conda的絕對位址 2. 在python34環境中也安裝conda工具(推薦)。

conda的包管理就比較好理解了,這部分功能與pip類似。

例如,如果需要安裝scipy:

# 安裝scipy

conda install scipy

# conda會從從遠端搜尋scipy的相關資訊和依賴專案,對於python 3.4,conda會同時安裝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、python等都視為package,因此,完全可以使用conda來管理conda和python的版本,例如

conda update conda

# 更新anaconda

conda update anaconda

# 更新python

conda update python

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

# 新增anaconda的tuna映象

conda config --add channels

# tuna的help中映象位址加有引號,需要去掉

# 設定搜尋時顯示通道位址

conda config --set show_channel_urls yes

執行完上述命令後,會生成~/.condarc(linux/mac)或c:usersuser_name.condarc檔案,記錄著我們對conda的配置,直接手動建立、編輯該檔案是相同的效果。

anaconda具有跨平台、包管理、環境管理的特點,因此很適合快速在新的機器上部署python環境。總結而言,整套安裝、配置流程如下:

配置path(bashrc或環境變數),更改tuna映象源

建立所需的不用版本的python環境

just try!

c:\>conda create -n tensorflow

c:\>activate tensorflow

(tensorflow) c:\>anaconda search -t conda tensorflow

(tensorflow) c:\>anaconda show anaconda/tensorflow-gpu

#此處的url也可以換為其他映象

(tensorflow) c:\>conda install --channel tensorflow-gpu

Anaconda使用總結

python易用,但用好卻不易,其中比較頭疼的就是包管理和python不同版本的問題,特別是當你使用windows的時候。為了解決這些問題,有不少發行版的python,比如winpython anaconda等,這些發行版將python和許多常用的package打包,方便pythoners直接使用,...

Anaconda使用總結

python易用,但用好卻不易,其中比較頭疼的就是包管理和python不同版本的問題,特別是當你使用windows的時候。為了解決這些問題,有不少發行版的python,比如winpython anaconda等,這些發行版將python和許多常用的package打包,方便pythoners直接使用,...

Anaconda使用總結

python易用,但用好卻不易,其中比較頭疼的就是包管理和python不同版本的問題,特別是當你使用windows的時候。為了解決這些問題,有不少發行版的python,比如winpython anaconda等,這些發行版將python和許多常用的package打包,方便pythoners直接使用,...