〇、序
Python是一種面向?qū)ο蟮慕忉屝陀嬎銠C(jī)程序設(shè)計語言,其使用,具有跨平臺的特點,可以在Linux、macOS以及Windows系統(tǒng)中搭建環(huán)境并使用,其編寫的代碼在不同平臺上運行時,幾乎不需要做較大的改動,使用者無不受益于它的便捷性。
此外,Python的強大之處在于它的應(yīng)用領(lǐng)域范圍之廣,遍及人工智能、科學(xué)計算、Web開發(fā)、系統(tǒng)運維、大數(shù)據(jù)及云計算、金融、游戲開發(fā)等。實現(xiàn)其強大功能的前提,就是Python具有數(shù)量龐大且功能相對完善的標(biāo)準(zhǔn)庫和第三方庫。通過對庫的引用,能夠?qū)崿F(xiàn)對不同領(lǐng)域業(yè)務(wù)的開發(fā)。然而,正是由于庫的數(shù)量龐大,對于管理這些庫以及對庫作及時的維護(hù)成為既重要但復(fù)雜度又高的事情。
一、什么是Anaconda?
1. 簡介
Anaconda(官方網(wǎng)站)就是可以便捷獲取包且對包能夠進(jìn)行管理,同時對環(huán)境可以統(tǒng)一管理的發(fā)行版本。Anaconda包含了conda、Python在內(nèi)的超過180個科學(xué)包及其依賴項。
2. 特點
Anaconda具有如下特點:
- 開源
- 安裝過程簡單
- 高性能使用Python和R語言
- 免費的社區(qū)支持
其特點的實現(xiàn)主要基于Anaconda擁有的:
- conda包
- 環(huán)境管理器
- 1,000+開源庫
如果日常工作或?qū)W習(xí)并不必要使用1,000多個庫,那么可以考慮安裝Miniconda(圖形界面下載及命令行安裝請戳),這里不過多介紹Miniconda的安裝及使用。
3. Anaconda、conda、pip、virtualenv的區(qū)別
① Anaconda
- Anaconda是一個包含180+的科學(xué)包及其依賴項的發(fā)行版本。其包含的科學(xué)包包括:conda, numpy, scipy, ipython notebook等。
② conda
conda是包及其依賴項和環(huán)境的管理工具。
適用語言:Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。
適用平臺:Windows, macOS, Linux
-
用途:
- 快速安裝、運行和升級包及其依賴項。
- 在計算機(jī)中便捷地創(chuàng)建、保存、加載和切換環(huán)境。
如果你需要的包要求不同版本的Python,你無需切換到不同的環(huán)境,因為conda同樣是一個環(huán)境管理器。僅需要幾條命令,你可以創(chuàng)建一個完全獨立的環(huán)境來運行不同的Python版本,同時繼續(xù)在你常規(guī)的環(huán)境中使用你常用的Python版本?!?a target="_blank" rel="nofollow">conda官方網(wǎng)站
conda為Python項目而創(chuàng)造,但可適用于上述的多種語言。
conda包和環(huán)境管理器包含于Anaconda的所有版本當(dāng)中。
③ pip
④ virtualenv
⑤ pip 與 conda 比較
→ 依賴項檢查
- pip:
-
不一定會展示所需其他依賴包。
- 安裝包時或許會直接忽略依賴項而安裝,僅在結(jié)果中提示錯誤。
- conda:
- 列出所需其他依賴包。
- 安裝包時自動安裝其依賴項。
- 可以便捷地在包的不同版本中自由切換。
→ 環(huán)境管理
- pip:維護(hù)多個環(huán)境難度較大。
- conda:比較方便地在不同環(huán)境之間進(jìn)行切換,環(huán)境管理較為簡單。
→ 對系統(tǒng)自帶Python的影響
- pip:在系統(tǒng)自帶Python中包的**更新/回退版本/卸載將影響其他程序。
- conda:不會影響系統(tǒng)自帶Python。
→ 適用語言
- pip:僅適用于Python。
- conda:適用于Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。
⑥ conda與pip、virtualenv的關(guān)系
- conda結(jié)合了pip和virtualenv的功能。
二、Anaconda的適用平臺及安裝條件
1. 適用平臺
Anaconda可以在以下系統(tǒng)平臺中安裝和使用:
- Windows
- macOS
- Linux(x86 / Power8)
2. 安裝條件
- 系統(tǒng)要求:32位或64位系統(tǒng)均可
- 下載文件大?。杭s500MB
- 所需空間大?。?GB空間大?。∕iniconda僅需400MB空間即可)
三、Anaconda的安裝步驟
1. macOS系統(tǒng)安裝Anaconda
① 圖形界面安裝
前往官方下載頁面下載。有兩個版本可供選擇:Python 3.6 和 Python 2.7,我下載的是前者。選擇版之后點擊“64-Bit Graphical Installer”進(jìn)行下載。
完成下載之后,雙擊下載文件,在對話框中“Introduction”、“Read Me”、“License”部分可直接點擊下一步。
“Destination Select”部分選擇“Install for me only”并點擊下一步。
-
“Installation Type”部分,可以點擊“Change Install Location”來改變安裝位置。標(biāo)準(zhǔn)的安裝路徑是在用戶的家目錄下。在這一步我沒有改變安裝位置。若選擇默認(rèn)安裝路徑,則直接點擊“Install”進(jìn)行安裝。
-
等待“Installation”部分結(jié)束,在“Summary”部分若看到“The installation was completed successfully.”則安裝成功,直接點擊“Close”關(guān)閉對話框。
-
在mac的Launchpad中可以找到名為“Anaconda-Navigator”的圖標(biāo),點擊打開。
若“Anaconda-Navigator”成功啟動,則說明真正成功地安裝了Anaconda;如果未成功,請務(wù)必仔細(xì)檢查以上安裝步驟。
- 完成安裝。
② 命令行安裝
前往官方下載頁面下載。有兩個版本可供選擇:Python 3.6 和 Python 2.7,我下載的是前者。選擇版之后點擊“64-Bit Command-Line Installer”進(jìn)行下載。
-
完成下載之后,在mac的Launchpad中找到“其他”并打開“終端”。
- 安裝Python 3.6:
bash ~/Downloads/Anaconda3-5.0.1-MacOSX-x86_64.sh
- 安裝Python 2.7:
bash ~/Downloads/Anaconda2-5.0.1-MacOSX-x86_64.sh
- 注意:
首詞bash也需要輸入,無論是否用的Bash shell。
如果你的下載路徑是自定義的,那么把該步驟路徑中的~/Downloads 替換成你自己的下載路徑。
-
如果你將第1步下載的.sh 文件重命名了,那么把該步驟路徑中的Anaconda3-5.0.1-MacOSX-x86_64.sh 或Anaconda2-5.0.1-MacOSX-x86_64.sh 替換成你重命名后的文件名。
- 強烈建議:不要修改文件名。如果重命名,使用英文進(jìn)行命名。
安裝過程中,看到提示“In order to continue the installation process, please review the license agreement.”(“請瀏覽許可證協(xié)議以便繼續(xù)安裝?!保?,點擊“Enter”查看“許可證協(xié)議”。
在“許可證協(xié)議”界面將屏幕滾動至底,輸入“yes”表示同意許可證協(xié)議內(nèi)容。然后進(jìn)行下一步。
安裝過程中,提示“Press Enter to confirm the location, Press CTRL-C to cancel the installation or specify an alternate installation directory.”(“按回車鍵確認(rèn)安裝路徑,按'CTRL-C'取消安裝或者指定安裝目錄。”)如果接受默認(rèn)安裝路徑,則會顯示“PREFIX=/home/<user>/anaconda<2 or 3>”并且繼續(xù)安裝。安裝過程大約需要幾分鐘的時間。
- 安裝器若提示“Do you wish the installer to prepend the Anaconda install location to PATH in your /home/<user>/.bash_profile ?”(“你希望安裝器添加Anaconda安裝路徑在
/home/<user>/.bash_profile 文件中嗎?”),建議輸入“yes”。
- 注意:
路徑/home/<user>/.bash_profile 中“<user>”即進(jìn)入到家目錄后你的目錄名。
如果輸入“no”,則需要手動添加路徑。添加export PATH="/<path to anaconda>/bin:$PATH" 在“.bashrc”或者“.bash_profile”中。其中,“<path to anaconda>”替換為你真實的Anaconda安裝路徑。
當(dāng)看到“Thank you for installing Anaconda!”則說明已經(jīng)成功完成安裝。
關(guān)閉終端,然后再打開終端以使安裝后的Anaconda啟動。
-
驗證安裝結(jié)果??蛇x用以下任意一種方法:
-
在終端中輸入命令condal list ,如果Anaconda被成功安裝,則會顯示已經(jīng)安裝的包名和版本號。
-
在終端中輸入python 。這條命令將會啟動Python交互界面,如果Anaconda被成功安裝并且可以運行,則將會在Python版本號的右邊顯示“Anaconda custom (64-bit)”。退出Python交互界面則輸入exit() 或quit() 即可。
在終端中輸入anaconda-navigator 。如果Anaconda被成功安裝,則Anaconda Navigator的圖形界面將會被啟動。
2. Windows系統(tǒng)安裝Anaconda
前往官方下載頁面下載。有兩個版本可供選擇:Python 3.6 和 Python 2.7,選擇版之后根據(jù)自己操作系統(tǒng)的情況點擊“64-Bit Graphical Installer”或“32-Bit Graphical Installer”進(jìn)行下載。
完成下載之后,雙擊下載文件,啟動安裝程序。
- 注意:
如果在安裝過程中遇到任何問題,那么暫時地關(guān)閉殺毒軟件,并在安裝程序完成之后再打開。
如果在安裝時選擇了“為所有用戶安裝”,則卸載Anaconda然后重新安裝,只為“我這個用戶”安裝。
選擇“Next”。
閱讀許可證協(xié)議條款,然后勾選“I Agree”并進(jìn)行下一步。
除非是以管理員身份為所有用戶安裝,否則僅勾選“Just Me”并點擊“Next”。
在“Choose Install Location”界面中選擇安裝Anaconda的目標(biāo)路徑,然后點擊“Next”。
- 注意:
目標(biāo)路徑中不能含有空格,同時不能是“unicode”編碼。
-
除非被要求以管理員權(quán)限安裝,否則不要以管理員身份安裝。
-
在“Advanced Installation Options”中不要勾選“Add Anaconda to my PATH environment variable.”(“添加Anaconda至我的環(huán)境變量。”)。因為如果勾選,則將會影響其他程序的使用。如果使用Anaconda,則通過打開Anaconda Navigator或者在開始菜單中的“Anaconda Prompt”(類似macOS中的“終端”)中進(jìn)行使用。
除非你打算使用多個版本的Anaconda或者多個版本的Python,否則便勾選“Register Anaconda as my default Python 3.6”。
然后點擊“Install”開始安裝。如果想要查看安裝細(xì)節(jié),則可以點擊“Show Details”。
點擊“Next”。
進(jìn)入“Thanks for installing Anaconda!”界面則意味著安裝成功,點擊“Finish”完成安裝。
- 注意:如果你不想了解“Anaconda云”和“Anaconda支持”,則可以不勾選“Learn more about Anaconda Cloud”和“Learn more about Anaconda Support”。
- 驗證安裝結(jié)果??蛇x以下任意方法:
“開始 → Anaconda3(64-bit)→ Anaconda Navigator”,若可以成功啟動Anaconda Navigator則說明安裝成功。
“開始 → Anaconda3(64-bit)→ 右鍵點擊Anaconda Prompt → 以管理員身份運行”,在Anaconda Prompt中輸入conda list ,可以查看已經(jīng)安裝的包名和版本號。若結(jié)果可以正常顯示,則說明安裝成功。
3. Linux系統(tǒng)安裝Anaconda
前往官方下載頁面下載。有兩個版本可供選擇:Python 3.6 和 Python 2.7。
啟動終端,在終端中輸入命令md5sum /path/filename 或sha256sum /path/filename
- 注意:將該步驟命令中的
/path/filename 替換為文件的實際下載路徑和文件名。其中,path是路徑,filename為文件名。
- 強烈建議:
- 路徑和文件名中不要出現(xiàn)空格或其他特殊字符。
- 路徑和文件名最好以英文命名,不要以中文或其他特殊字符命名。
- 根據(jù)Python版本的不同有選擇性地在終端輸入命令:
- 注意:
首詞bash也需要輸入,無論是否用的Bash shell。
如果你的下載路徑是自定義的,那么把該步驟路徑中的~/Downloads 替換成你自己的下載路徑。
除非被要求使用root權(quán)限,否則均選擇“Install Anaconda as a user”。
安裝過程中,看到提示“In order to continue the installation process, please review the license agreement.”(“請瀏覽許可證協(xié)議以便繼續(xù)安裝?!保?,點擊“Enter”查看“許可證協(xié)議”。
在“許可證協(xié)議”界面將屏幕滾動至底,輸入“yes”表示同意許可證協(xié)議內(nèi)容。然后進(jìn)行下一步。
安裝過程中,提示“Press Enter to accept the default install location, CTRL-C to cancel the installation or specify an alternate installation directory.”(“按回車鍵確認(rèn)安裝路徑,按'CTRL-C'取消安裝或者指定安裝目錄?!保┤绻邮苣J(rèn)安裝路徑,則會顯示“PREFIX=/home/<user>/anaconda<2 or 3>”并且繼續(xù)安裝。安裝過程大約需要幾分鐘的時間。
- 安裝器若提示“Do you wish the installer to prepend the Anaconda<2 or 3> install location to PATH in your /home/<user>/.bashrc ?”(“你希望安裝器添加Anaconda安裝路徑在
/home/<user>/.bashrc 文件中嗎?”),建議輸入“yes”。
- 注意:
路徑/home/<user>/.bash_rc 中“<user>”即進(jìn)入到家目錄后你的目錄名。
如果輸入“no”,則需要手動添加路徑,否則conda將無法正常運行。
當(dāng)看到“Thank you for installing Anaconda<2 or 3>!”則說明已經(jīng)成功完成安裝。
關(guān)閉終端,然后再打開終端以使安裝后的Anaconda啟動?;蛘咧苯釉诮K端中輸入source ~/.bashrc 也可完成啟動。
-
驗證安裝結(jié)果??蛇x用以下任意一種方法:
在終端中輸入命令condal list ,如果Anaconda被成功安裝,則會顯示已經(jīng)安裝的包名和版本號。
在終端中輸入python 。這條命令將會啟動Python交互界面,如果Anaconda被成功安裝并且可以運行,則將會在Python版本號的右邊顯示“Anaconda custom (64-bit)”。退出Python交互界面則輸入exit() 或quit() 即可。
在終端中輸入anaconda-navigator 。如果Anaconda被成功安裝,則Anaconda Navigator將會被啟動。
四、管理conda
0. 寫在前面
接下來均是以命令行模式進(jìn)行介紹,Windows用戶請打開“Anaconda Prompt”;macOS和Linux用戶請打開“Terminal”(“終端”)進(jìn)行操作。
1. 驗證conda已被安裝
終端上將會以conda 版本號 的形式顯示當(dāng)前安裝conda的版本號。如:conda 3.11.0
- 注意:如果出現(xiàn)錯誤信息,則需核實是否出現(xiàn)以下情況:
使用的用戶是否是安裝Anaconda時的賬戶。
是否在安裝Anaconda之后重啟了終端。
2. 更新conda至最新版本
執(zhí)行命令后,conda將會對版本進(jìn)行比較并列出可以升級的版本。同時,也會告知用戶其他相關(guān)包也會升級到相應(yīng)版本。
當(dāng)較新的版本可以用于升級時,終端會顯示Proceed ([y]/n)? ,此時輸入y 即可進(jìn)行升級。
3. 查看conda幫助信息
或
4. 卸載conda
① Linux 或 macOS
或
即刪除Anaconda的安裝目錄。根據(jù)安裝的Anaconda版本選擇相應(yīng)的卸載命令。
② Windows
控制面板 → 添加或刪除程序 → 選擇“Python X.X (Anaconda)” → 點擊“刪除程序”
- 注意:
Python X.X:即Python的版本,如:Python 3.6。
Windows 10的刪除有所不同。
五、管理環(huán)境
0. 寫在前面
接下來均是以命令行模式進(jìn)行介紹,Windows用戶請打開“Anaconda Prompt”;macOS和Linux用戶請打開“Terminal”(“終端”)進(jìn)行操作。
1. 創(chuàng)建新環(huán)境
conda create --name <env_name> <package_names>
2. 切換環(huán)境
① Linux 或 macOS
source activate <env_name>
② Windows
③ 提示
如果創(chuàng)建環(huán)境后安裝Python時沒有指定Python的版本,那么將會安裝與Anaconda版本相同的Python版本,即如果安裝Anaconda第2版,則會自動安裝Python 2.x;如果安裝Anaconda第3版,則會自動安裝Python 3.x。
當(dāng)成功切換環(huán)境之后,在該行行首將以“(env_name)”或“[env_name]”開頭。其中,“env_name”為切換到的環(huán)境名。如:在macOS系統(tǒng)中執(zhí)行source active python2 ,即切換至名為“python2”的環(huán)境,則行首將會以(python2)開頭。
3. 退出環(huán)境至root
① Linux 或 macOS
② Windows
③ 提示
當(dāng)執(zhí)行退出當(dāng)前環(huán)境,回到root環(huán)境命令后,原本行首以“(env_name)”或“[env_name]”開頭的字符將不再顯示。
4. 顯示已創(chuàng)建環(huán)境
或
或
結(jié)果中星號“*”所在行即為當(dāng)前所在環(huán)境。macOS系統(tǒng)中默認(rèn)創(chuàng)建的環(huán)境名為“base”。
5. 復(fù)制環(huán)境
conda create --name <new_env_name> --clone <copied_env_name>
- 注意:
<copied_env_name> 即為被復(fù)制/克隆環(huán)境名。環(huán)境名兩邊不加尖括號“<>”。
<new_env_name> 即為復(fù)制之后新環(huán)境的名稱。環(huán)境名兩邊不加尖括號“<>”。
如:conda create --name py2 --clone python2 ,即為克隆名為“python2”的環(huán)境,克隆后的新環(huán)境名為“py2”。此時,環(huán)境中將同時存在“python2”和“py2”環(huán)境,且兩個環(huán)境的配置相同。
6. 刪除環(huán)境
conda remove --name <env_name> --all
- 注意:
<env_name> 為被刪除環(huán)境的名稱。環(huán)境名兩邊不加尖括號“<>”。
六、管理包
1. 查找可供安裝的包版本
① 精確查找
conda search --full-name <package_full_name>
② 模糊查找
2. 獲取當(dāng)前環(huán)境中已安裝的包信息
執(zhí)行上述命令后將在終端顯示當(dāng)前環(huán)境已安裝包的包名及其版本號。
3. 安裝包
① 在指定環(huán)境中安裝包
conda install --name <env_name> <package_name>
② 在當(dāng)前環(huán)境中安裝包
conda install <package_name>
③ 使用pip安裝包
→ 使用場景
當(dāng)使用conda install 無法進(jìn)行安裝時,可以使用pip進(jìn)行安裝。例如:see包。
→ 命令
pip install <package_name>
→ 注意
pip只是包管理器,無法對環(huán)境進(jìn)行管理。因此如果想在指定環(huán)境中使用pip進(jìn)行安裝包,則需要先切換到指定環(huán)境中,再使用pip命令安裝包。
pip無法更新python,因為pip并不將python視為包。
pip可以安裝一些conda無法安裝的包;conda也可以安裝一些pip無法安裝的包。因此當(dāng)使用一種命令無法安裝包時,可以嘗試用另一種命令。
④ 從Anaconda.org安裝包
→ 使用場景
當(dāng)使用conda install 無法進(jìn)行安裝時,可以考慮從Anaconda.org中獲取安裝包的命令,并進(jìn)行安裝。
→ 注意
從Anaconda.org安裝包時,無需注冊。
-
在當(dāng)前環(huán)境中安裝來自于Anaconda.org的包時,需要通過輸入要安裝的包在Anaconda.org中的路徑作為獲取途徑(channel)。查詢路徑的方式如下:
在瀏覽器中輸入:http://,或直接點擊Anaconda.org
-
在新頁面“Anaconda Cloud”的上方搜索框中輸入要安裝的包名,然后點擊右邊“放大鏡”標(biāo)志。
-
搜索結(jié)果中有數(shù)以千計的包可供選擇,此時點擊“Downloads”可根據(jù)下載量進(jìn)行排序,最上面的為下載最多的包。(圖中以搜索bottleneck包為例)
選擇滿足需求的包或下載量最多的包,點擊包名。
-
復(fù)制“To install this package with conda run:”下方的命令,并粘貼在終端中執(zhí)行。
完成安裝。
4. 卸載包
① 卸載指定環(huán)境中的包
conda remove --name <env_name> <package_name>
② 卸載當(dāng)前環(huán)境中的包
conda remove <package_name>
5. 更新包
① 更新所有包
或
- 建議:在安裝Anaconda之后執(zhí)行上述命令更新Anaconda中的所有包至最新版本,便于使用。
② 更新指定包
conda update <package_name>
或
conda upgrade <package_name>
- 注意:
<package_name> 為指定更新的包名。包名兩邊不加尖括號“<>”。
更新多個指定包,則包名以空格隔開,向后排列。如:conda update pandas numpy matplotlib 即更新pandas、numpy、matplotlib包。
七、參考資料
知乎“初學(xué)python者自學(xué)anaconda的正確姿勢是什么??”猴子的回答
Anaconda Cheat Sheet
Anaconda官方網(wǎng)站
conda官方網(wǎng)站
pip維基百科
pip官方網(wǎng)站
YouTube視頻:Pip vs Conda: Differences and Comparisons
virtualenv官方網(wǎng)站
macOS系統(tǒng)安裝Anaconda的官方教程
Windows系統(tǒng)安裝Anaconda的官方教程
Linux系統(tǒng)安裝Anaconda的官方教程
Conda Official User Guide
|