這次帶給大家Anaconda的新手使用大全,新手使用Anaconda的注意事項有哪些,以下就是實戰案例,一起來看一下。
序
Python易用,但用好卻不易,其中比較頭痛的就是套件管理和Python不同版本的問題,特別是當你使用Windows的時候。為了解決這些問題,有不少發行版的Python,例如WinPython、Anaconda等,這些發行版將python和許多常用的package打包,方便pythoners直接使用,此外,還有virtualenv、pyenv等工具管理虛擬環境。 (推薦學習教學:Python影片教學)
個人嘗試了許多類似的發行版,最後選擇了Anaconda,因為其強大而方便的套件管理與環境管理的功能。該文主要介紹下Anaconda,對Anaconda的理解,並簡要總結下相關的操作。
Anaconda是一個用於科學計算的Python發行版,支援Linux, Mac, Windows系統,提供了套件管理與環境管理的功能,可以很方便地解決多版本python並存、切換以及各種第三方套件安裝問題。 Anaconda利用工具/指令conda來進行package和environment的管理,並且已經包含了Python和相關的配套工具。
這裡先解釋下conda、anaconda這些概念的差異。 conda可以理解為一個工具,也是一個可執行指令,其核心功能是套件管理與環境管理。套件管理與pip的使用類似,環境管理則允許使用者方便地安裝不同版本的python並且可以快速切換。 Anaconda則是打包的集合,裡面預先安裝了conda、某個版本的python、眾多packages、科學計算工具等等,所以也稱為Python的一種發行版。其實還有Miniconda,顧名思義,它只包含最基本的內容──python與conda,以及相關的必須依賴項,對於空間要求嚴格的用戶,Miniconda是一種選擇。
進入下文之前,先說明一下conda的設計概念-conda將幾乎所有的工具、第三方套件都當作package對待,甚至包括python和conda自己!因此,conda打破了套件管理與環境管理的約束,能非常方便地安裝各種版本python、各種package並且方便地切換。
Anaconda的下載頁請參考官網下載,Linux、Mac、Windows皆支援。
安裝時,會發現有兩個不同版本的Anaconda,分別對應Python 2.7和Python 3.5,兩個版本其實除了這點差異外其他都一樣。後面我們會看到,安裝哪個版本並不本質,因為透過環境管理,我們可以很方便地切換運行時的Python版本。 (由於我常用的Python是2.7和3.4,因此傾向於直接安裝Python 2.7對應的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。
Conda的環境管理功能讓我們可以同時安裝若干不同版本的Python,並且可以自由切換。對於上述安裝過程,假設我們採用的是Python 2.7對應的安裝包,那麼Python 2.7就是預設的環境(預設名稱是root,注意這個root不是超級管理員的意思)。
假設我們需要安裝Python 3.4,此時,我們需要做的操作如下:
# 建立一個名為python34的環境,指定Python版本是3.4(不用管是3.4.x,conda會為我們自動尋找3.4.x中的最新版本)
conda create --name python34 python=3.4# 此時,再次輸入
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# 安裝好後,使用activate啟動某個環境
activate python34 # for Windows
source activate python34 # for Linux & Mac
# 啟動後,會發現terminal輸入的地方多了python34的字樣,實際上,此時系統做的事情就是把預設2.7環境從PATH中移除,再把3.4對應的指令加入PATH
使用者安裝的不同python環境都會被放在目錄~/anaconda/envs
下,可以在指令中執行conda info -e
查看已安裝的環境,目前被啟動的環境會顯示有一個星號或括號。
說明:有些使用者可能經常使用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的一些常用操作如下:
##前面已經提到,conda將conda、python等都視為package,因此,完全可以使用conda來管理conda和python的版本,例如檢視目前環境下已安裝的套件
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環境,例如3.4,運行conda update conda
## 更新anacondaconda update anaconda
# 更新pythonconda update python
# 假設目前環境是python 3.4, conda會將python升級為3.4.x系列的當前最新版本
conda create -n python34 python=3.4之後,conda僅安裝python 3.4相關的必須項,如python, pip等,如果希望該環境像預設環境那樣,安裝anaconda集合包,只需要:
# 在當前環境下安裝anaconda包集合設定國內鏡像如果需要安裝很多packages,你會發現conda下載的速度經常很慢,因為Anaconda.org的伺服器在國外。所幸的是,清華TUNA鏡像來源有Anaconda倉庫的鏡像,我們將其加入conda的配置即可:conda install anaconda
# 結合創建環境的命令,以上操作可以合併為conda create -n python34 python=3.4 anaconda
# 也可以不用全部安裝,根據需求安裝自己需要的package即可
# 新增Anaconda的TUNA映像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
# TUNA的help中鏡像位址加上引號,需要去掉# 設定搜尋時顯示頻道位址
conda config --set show_channel_urls yes
執行完上述指令後,會產生~/. condarc(Linux/Mac)或C:\Users\USER_NAME\.condarc文件,記錄我們對conda的配置,直接手動建立、編輯該文件是相同的效果。
Anaconda具有跨平台、套件管理、環境管理的特點,因此很適合快速在新的機器上部署Python環境。總結而言,整套安裝、設定流程如下:
下載Anaconda、安裝
設定PATH(bashrc或環境變數),變更TUNA鏡像來源
建立所需的不用版本的python環境
Just Try!
以上是Anaconda的新手使用大全的詳細內容。更多資訊請關注PHP中文網其他相關文章!