Python視頻教程之Anaconda入門使用分享
如今參加Python培訓(xùn)學(xué)習(xí)Python開發(fā)的小伙伴對Python安裝教程比較感興趣,本篇文章扣丁學(xué)堂小編就和讀者們分享一下扣丁學(xué)堂Python安裝教程之Anaconda入門使用總結(jié),希望能對小伙伴們有所幫助。
Python易用,但用好卻不易,其中比較頭疼的就是包管理和Python不同版本的問題,特別是當(dāng)你使用Windows的時候。為了解決這些問題,有不少發(fā)行版的Python,比如WinPython、Anaconda等,這些發(fā)行版將python和許多常用的package打包,方便pythoners直接使用,此外,還有virtualenv、pyenv等工具管理虛擬環(huán)境。
個人嘗試了很多類似的發(fā)行版,最終選擇了Anaconda,因?yàn)槠鋸?qiáng)大而方便的包管理與環(huán)境管理的功能。該文主要介紹下Anaconda,對Anaconda的理解,并簡要總結(jié)下相關(guān)的操作。
Anaconda概述
Anaconda是一個用于科學(xué)計(jì)算的Python發(fā)行版,支持 Linux, Mac, Windows系統(tǒng),提供了包管理與環(huán)境管理的功能,可以很方便地解決多版本python并存、切換以及各種第三方包安裝問題。Anaconda利用工具/命令conda來進(jìn)行package和environment的管理,并且已經(jīng)包含了Python和相關(guān)的配套工具。
這里先解釋下conda、anaconda這些概念的差別。conda可以理解為一個工具,也是一個可執(zhí)行命令,其核心功能是包管理與環(huán)境管理。包管理與pip的使用類似,環(huán)境管理則允許用戶方便地安裝不同版本的python并可以快速切換。Anaconda則是一個打包的集合,里面預(yù)裝好了conda、某個版本的python、眾多packages、科學(xué)計(jì)算工具等等,所以也稱為Python的一種發(fā)行版。其實(shí)還有Miniconda,顧名思義,它只包含最基本的內(nèi)容——python與conda,以及相關(guān)的必須依賴項(xiàng),對于空間要求嚴(yán)格的用戶,Miniconda是一種選擇。
進(jìn)入下文之前,說明一下conda的設(shè)計(jì)理念——conda將幾乎所有的工具、第三方包都當(dāng)做package對待,甚至包括python和conda自身!因此,conda打破了包管理與環(huán)境管理的約束,能非常方便地安裝各種版本python、各種package并方便地切換。
Anaconda的安裝
Anaconda的下載頁參見扣丁學(xué)堂,Linux、Mac、Windows均支持。
安裝時,會發(fā)現(xiàn)有兩個不同版本的Anaconda,分別對應(yīng)Python 2.7和Python 3.5,兩個版本其實(shí)除了這點(diǎn)區(qū)別外其他都一樣。后面我們會看到,安裝哪個版本并不本質(zhì),因?yàn)橥ㄟ^環(huán)境管理,我們可以很方便地切換運(yùn)行時的Python版本。(由于我常用的Python是2.7和3.4,因此傾向于直接安裝Python 2.7對應(yīng)的Anaconda)
下載后直接按照說明安裝即可。這里想提醒一點(diǎn):盡量按照Anaconda默認(rèn)的行為安裝——不使用root權(quán)限,僅為個人安裝,安裝目錄設(shè)置在個人主目錄下(Windows就無所謂了)。這樣的好處是,同一臺機(jī)器上的不同用戶完全可以安裝、配置自己的Anaconda,不會互相影響。
對于Mac、Linux系統(tǒng),Anaconda安裝好后,實(shí)際上就是在主目錄下多了個文件夾(~/anaconda)而已,Windows會寫入注冊表。安裝時,安裝程序會把bin目錄加入PATH(Linux/Mac寫入~/.bashrc,Windows添加到系統(tǒng)變量PATH),這些操作也完全可以自己完成。以Linux/Mac為例,安裝完成后設(shè)置PATH的操作是:
# 將anaconda的bin目錄加入PATH,根據(jù)版本不同,也可能是~/anaconda3/bin echo 'export PATH="~/anaconda2/bin:$PATH"' >> ~/.bashrc # 更新bashrc以立即生效 source ~/.bashrc
配置好PATH后,可以通過which conda或conda --version命令檢查是否正確。假如安裝的是Python 2.7對應(yīng)的版本,運(yùn)行python --version或python -V可以得到Python 2.7.12 :: Anaconda 4.1.1 (64-bit),也說明該發(fā)行版默認(rèn)的環(huán)境是Python 2.7。
Conda的環(huán)境管理
Conda的環(huán)境管理功能允許我們同時安裝若干不同版本的Python,并能自由切換。對于上述安裝過程,假設(shè)我們采用的是Python 2.7對應(yīng)的安裝包,那么Python 2.7就是默認(rèn)的環(huán)境(默認(rèn)名字是root,注意這個root不是超級管理員的意思)。
假設(shè)我們需要安裝Python 3.4,此時,我們需要做的操作如下:
# 創(chuàng)建一個名為python34的環(huán)境,指定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)`,即系統(tǒng)已經(jīng)切換到了3.4的環(huán)境 # 如果想返回默認(rèn)的python 2.7環(huán)境,運(yùn)行 deactivate python34 # for Windows source deactivate python34 # for Linux & Mac # 刪除一個已有的環(huán)境 conda remove --name python34 --all # 安裝好后,使用activate激活某個環(huán)境 activate python34 # for Windows source activate python34 # for Linux & Mac # 激活后,會發(fā)現(xiàn)terminal輸入的地方多了python34的字樣,實(shí)際上,此時系統(tǒng)做的事情就是把默認(rèn)2.7環(huán)境從PATH中去除,再把3.4對應(yīng)的命令加入PATH
用戶安裝的不同python環(huán)境都會被放在目錄~/anaconda/envs下,可以在命令中運(yùn)行conda info -e查看已安裝的環(huán)境,當(dāng)前被激活的環(huán)境會顯示有一個星號或者括號。
說明:有些用戶可能經(jīng)常使用python 3.4環(huán)境,因此直接把~/anaconda/envs/python34下面的bin或者Scripts加入PATH,去除anaconda對應(yīng)的那個bin目錄。這個辦法,怎么說呢,也是可以的,但總覺得不是那么elegant……
如果直接按上面說的這么改PATH,你會發(fā)現(xiàn)conda命令又找不到了(當(dāng)然找不到啦,因?yàn)閏onda在~/anaconda/bin里呢),這時候怎么辦呢?方法有二:1. 顯式地給出conda的絕對地址 2. 在python34環(huán)境中也安裝conda工具(推薦)。
Conda的包管理
Conda的包管理就比較好理解了,這部分功能與pip類似。
例如,如果需要安裝scipy:
# 安裝scipy conda install scipy # conda會從從遠(yuǎn)程搜索scipy的相關(guān)信息和依賴項(xiàng)目,對于python 3.4,conda會同時安裝numpy和mkl(運(yùn)算加速的庫) # 查看已經(jīng)安裝的packages conda list # 最新版的conda是從site-packages文件夾中搜索已經(jīng)安裝的包,不依賴于pip,因此可以顯示出通過各種方式安裝的包
conda的一些常用操作如下:
# 查看當(dāng)前環(huán)境下已安裝的包 conda list # 查看某個指定環(huán)境的已安裝包 conda list -n python34 # 查找package信息 conda search numpy # 安裝package conda install -n python34 numpy # 如果不用-n指定環(huán)境名稱,則被安裝在當(dāng)前活躍環(huán)境 # 也可以通過-c指定通過某個channel安裝 # 更新package conda update -n python34 numpy # 刪除package conda remove -n python34 numpy
前面已經(jīng)提到,conda將conda、python等都視為package,因此,完全可以使用conda來管理conda和python的版本,例如:
# 更新conda,保持conda最新 conda update conda # 更新anaconda conda update anaconda # 更新python conda update python # 假設(shè)當(dāng)前環(huán)境是python 3.4, conda會將python升級為3.4.x系列的當(dāng)前最新版本
補(bǔ)充:如果創(chuàng)建新的python環(huán)境,比如3.4,運(yùn)行conda create -n python34 python=3.4之后,conda僅安裝python 3.4相關(guān)的必須項(xiàng),如python, pip等,如果希望該環(huán)境像默認(rèn)環(huán)境那樣,安裝anaconda集合包,只需要:
# 在當(dāng)前環(huán)境下安裝anaconda包集合 conda install anaconda # 結(jié)合創(chuàng)建環(huán)境的命令,以上操作可以合并為 conda create -n python34 python=3.4 anaconda # 也可以不用全部安裝,根據(jù)需求安裝自己需要的package即可
設(shè)置國內(nèi)鏡像
如果需要安裝很多packages,你會發(fā)現(xiàn)conda下載的速度經(jīng)常很慢,因?yàn)锳naconda.org的服務(wù)器在國外。所幸的是,清華TUNA鏡像源有Anaconda倉庫的鏡像,我們將其加入conda的配置即可:
# 添加Anaconda的TUNA鏡像 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ # TUNA的help中鏡像地址加有引號,需要去掉 # 設(shè)置搜索時顯示通道地址 conda config --set show_channel_urls yes
執(zhí)行完上述命令后,會生成~/.condarc(Linux/Mac)或C:\Users\USER_NAME\.condarc文件,記錄著我們對conda的配置,直接手動創(chuàng)建、編輯該文件是相同的效果。
跋
Anaconda具有跨平臺、包管理、環(huán)境管理的特點(diǎn),因此很適合快速在新的機(jī)器上部署Python環(huán)境。總結(jié)而言,整套安裝、配置流程如下:
下載Anaconda、安裝
配置PATH(bashrc或環(huán)境變量),更改TUNA鏡像源
創(chuàng)建所需的不用版本的python環(huán)境
Just Try!
以上就是扣丁學(xué)堂Python安裝教程小編給大家分享的Anaconda入門使用總結(jié),希望能幫到小伙伴們,想要了解更多內(nèi)容的小伙伴可以登錄扣丁學(xué)堂官網(wǎng)查詢??鄱W(xué)堂是專業(yè)的Python在線學(xué)習(xí)基地,有大量的Python視頻教程供小伙伴觀看學(xué)習(xí)哦??鄱W(xué)堂python學(xué)習(xí)交流群:816572891。微信號:codingbb
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。