Anaconda介紹、安裝及使用教程
目錄
〇、序
Python是一種面向對象的解釋型計算機程序設計語言,其使用,具有跨平臺的特點,可以在Linux、macOS以及Windows系統中搭建環境並使用,其編寫的代碼在不同平臺上運行時,幾乎不需要做較大的改動,使用者無不受益於它的便捷性。
此外,Python的強大之處在於它的應用領域範圍之廣,遍及人工智能、科學計算、Web開發、系統運維、大數據及雲計算、金融、遊戲開發等。實現其強大功能的前提,就是Python具有數量龐大且功能相對完善的標準庫和第三方庫。通過對庫的引用,能夠實現對不同領域業務的開發。然而,正是由於庫的數量龐大,對於管理這些庫以及對庫作及時的維護成爲既重要但複雜度又高的事情。
一、什麼是Anaconda?
- 簡介
Anaconda(官方網站)就是可以便捷獲取包且對包能夠進行管理,同時對環境可以統一管理的發行版本。Anaconda包含了conda、Python在內的超過180個科學包及其依賴項。
- 特點
Anaconda具有如下特點:
▪ 開源
▪ 安裝過程簡單
▪ 高性能使用Python和R語言
▪ 免費的社區支持
其特點的實現主要基於Anaconda擁有的:
▪ conda包
▪ 環境管理器
▪ 1,000+開源庫
如果日常工作或學習並不必要使用1,000多個庫,那麼可以考慮安裝Miniconda(下載界面請戳),這裏不過多介紹Miniconda的安裝及使用。
- Anaconda、conda、pip、virtualenv的區別
① Anaconda
Anaconda是一個包含180+的科學包及其依賴項的發行版本。其包含的科學包包括:conda, numpy, scipy, ipython notebook等。
② conda
conda是包及其依賴項和環境的管理工具。
▪ 適用語言:Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。
▪ 適用平臺:Windows, macOS, Linux
▪ 用途:
① 快速安裝、運行和升級包及其依賴項。
② 在計算機中便捷地創建、保存、加載和切換環境。
如果你需要的包要求不同版本的Python,你無需切換到不同的環境,因爲conda同樣是一個環境管理器。僅需要幾條命令,你可以創建一個完全獨立的環境來運行不同的Python版本,同時繼續在你常規的環境中使用你常用的Python版本。——Conda官方網站
▪ conda爲Python項目而創造,但可適用於上述的多種語言。
▪ conda包和環境管理器包含於Anaconda的所有版本當中。
③ pip
pip是用於安裝和管理軟件包的包管理器。
▪ pip編寫語言:Python。
▪ Python中默認安裝的版本:
① Python 2.7.9及後續版本:默認安裝,命令爲 pip
② Python 3.4及後續版本:默認安裝,命令爲 pip3
▪ pip名稱的由來:pip採用的是遞歸縮寫進行命名的。其名字被普遍認爲來源於2處:
① “Pip installs Packages”(“pip安裝包”)
② “Pip installs Python”(“pip安裝Python”)
④ virtualenv
virtualenv是用於創建一個獨立的Python環境的工具。
▪ 解決問題:
當一個程序需要使用Python 2.7版本,而另一個程序需要使用Python 3.6版本,如何同時使用這兩個程序?如果將所有程序都安裝在系統下的默認路徑,如:/usr/lib/python2.7/site-packages,當不小心升級了本不該升級的程序時,將會對其他的程序造成影響。
如果想要安裝程序並在程序運行時對其庫或庫的版本進行修改,都會導致程序的中斷。
在共享主機時,無法在全局 site-packages 目錄中安裝包。
▪ virtualenv將會爲它自己的安裝目錄創建一個環境,這並不與其他virtualenv環境共享庫;同時也可以選擇性地不連接已安裝的全局庫。
⑤ pip 與 conda 比較
→ 依賴項檢查
▪ pip:
① 不一定會展示所需其他依賴包。
② 安裝包時或許會直接忽略依賴項而安裝,僅在結果中提示錯誤。
▪ conda:
① 列出所需其他依賴包。
② 安裝包時自動安裝其依賴項。
③ 可以便捷地在包的不同版本中自由切換。
→ 環境管理
▪ pip:維護多個環境難度較大。
▪ conda:比較方便地在不同環境之間進行切換,環境管理較爲簡單。
→ 對系統自帶Python的影響
▪ pip:在系統自帶Python中包的更新/回退版本/卸載將影響其他程序。
▪ conda:不會影響系統自帶Python。
→ 適用語言
▪ pip:僅適用於Python。
▪ conda:適用於Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。
⑥ conda與pip、virtualenv的關係
▪ conda結合了pip和virtualenv的功能。
二、Anaconda的適用平臺及安裝條件
- 適用平臺
Anaconda可以在以下系統平臺中安裝和使用:
▪ Windows
▪ macOS
▪ Linux(x86 / Power8)
- 安裝條件
▪ 系統要求:32位或64位系統均可
▪ 下載文件大小:約500MB
▪ 所需空間大小:3GB空間大小(Miniconda僅需400MB空間即可)
三、Anaconda的安裝步驟
- macOS系統安裝Anaconda
① 圖形界面安裝
-
前往官方下載頁面下載。有兩個版本可供選擇:Python 3.6 和 Python 2.7,我下載的是前者。選擇版之後點擊“64-Bit Graphical Installer”進行下載。
-
完成下載之後,雙擊下載文件,在對話框中“Introduction”、“Read Me”、“License”部分可直接點擊下一步
-
“Destination Select”部分選擇“Install for me only”並點擊下一步。
注意:若有錯誤提示信息“You cannot install Anaconda in this location”則重新選擇“Install for me only”並點擊下一步。
4. “Installation Type”部分,可以點擊“Change Install Location”來改變安裝位置。標準的安裝路徑是在用戶的家目錄下。在這一步我沒有改變安裝位置。若選擇默認安裝路徑,則直接點擊“Install”進行安裝。
-
等待“Installation”部分結束,在“Summary”部分若看到“The installation was completed successfully.”則安裝成功,直接點擊“Close”關閉對話框。
-
在mac的Launchpad中可以找到名爲“Anaconda-Navigator”的圖標,點擊打開。
-
若“Anaconda-Navigator”成功啓動,則說明真正成功地安裝了Anaconda;如果未成功,請務必仔細檢查以上安裝步驟。
提示:“Anaconda-Navigator”中已經包含“Jupyter Notebook”、“Jupyterlab”、“Qtconsole”和“Spyder”。(圖中的“Rstudio”是我後來安裝的,但它默認出現在“Anaconda-Navigator”的啓動界面,只需要點擊“Install”便可安裝。)
Jupyter Notebook有助於我們編寫代碼、運行代碼以及獲取代碼的運行結果,特點是可以令我們便捷地爲代碼及其運行結果添加文檔的描述、解釋和說明。無論是學習還是工作,Jupyter Notebook都是提高效率和學習、工作質量的利器。具體的使用,點這裏:
8. 完成安裝。
② 命令行安裝
-
前往官方下載頁面下載。有兩個版本可供選擇:Python 3.6 和 Python 2.7,我下載的是前者。選擇版之後點擊“64-Bit Command-Line Installer”進行下載。
-
完成下載之後,在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 替換成你重命名後的文件名。
▫ 強烈建議:不要修改文件名。如果重命名,使用英文進行命名。
-
安裝過程中,看到提示“In order to continue the installation process, please review the license agreement.”(“請瀏覽許可證協議以便繼續安裝。”),點擊“Enter”查看“許可證協議”。
-
在“許可證協議”界面將屏幕滾動至底,輸入“yes”表示同意許可證協議內容。然後進行下一步。
-
安裝過程中,提示“Press Enter to confirm the location, Press CTRL-C to cancel the installation or specify an alternate installation directory.”(“按回車鍵確認安裝路徑,按’CTRL-C’取消安裝或者指定安裝目錄。”)如果接受默認安裝路徑,則會顯示 PREFIX=/home//anaconda<2 or 3> 並且繼續安裝。安裝過程大約需要幾分鐘的時間。
建議:直接接受默認安裝路徑。
6. 安裝器若提示“Do you wish the installer to prepend the Anaconda install location to PATH in your /home//.bash_profile ?”(“你希望安裝器添加Anaconda安裝路徑在 /home//.bash_profile 文件中嗎?”),建議輸入“yes”。
注意:
① 路徑 /home//.bash_profile 中 即進入到家目錄後你的目錄名。
② 如果輸入“no”,則需要手動添加路徑。添加 export PATH="/
-
當看到“Thank you for installing Anaconda!”則說明已經成功完成安裝。
-
關閉終端,然後再打開終端以使安裝後的Anaconda啓動。
-
驗證安裝結果。可選用以下任意一種方法:
① 在終端中輸入命令 condal list ,如果Anaconda被成功安裝,則會顯示已經安裝的包名和版本號。
② 在終端中輸入 python 。這條命令將會啓動Python交互界面,如果Anaconda被成功安裝並且可以運行,則將會在Python版本號的右邊顯示“Anaconda custom (64-bit)”。退出Python交互界面則輸入 exit() 或 quit() 即可。
③ 在終端中輸入 anaconda-navigator 。如果Anaconda被成功安裝,則Anaconda Navigator的圖形界面將會被啓動。
-
Windows系統安裝Anaconda
-
前往官方下載頁面下載。有兩個版本可供選擇:Python 3.6 和 Python 2.7,選擇版之後根據自己操作系統的情況點擊“64-Bit Graphical Installer”或“32-Bit Graphical Installer”進行下載。
-
完成下載之後,雙擊下載文件,啓動安裝程序。
注意:
① 如果在安裝過程中遇到任何問題,那麼暫時地關閉殺毒軟件,並在安裝程序完成之後再打開。
② 如果在安裝時選擇了“爲所有用戶安裝”,則卸載Anaconda然後重新安裝,只爲“我這個用戶”安裝。
-
選擇“Next”。
-
閱讀許可證協議條款,然後勾選“I Agree”並進行下一步。
-
除非是以管理員身份爲所有用戶安裝,否則僅勾選“Just Me”並點擊“Next”。
-
在“Choose Install Location”界面中選擇安裝Anaconda的目標路徑,然後點擊“Next”。
注意:
① 目標路徑中不能含有空格,同時不能是“unicode”編碼。
② 除非被要求以管理員權限安裝,否則不要以管理員身份安裝。
7. 在“Advanced Installation Options”中不要勾選“Add Anaconda to my PATH environment variable.”(“添加Anaconda至我的環境變量。”)。因爲如果勾選,則將會影響其他程序的使用。如果使用Anaconda,則通過打開Anaconda Navigator或者在開始菜單中的“Anaconda Prompt”(類似macOS中的“終端”)中進行使用。
除非你打算使用多個版本的Anaconda或者多個版本的Python,否則便勾選“Register Anaconda as my default Python 3.6”。
然後點擊“Install”開始安裝。如果想要查看安裝細節,則可以點擊“Show Details”。
8. 點擊“Next”。
- 進入“Thanks for installing Anaconda!”界面則意味着安裝成功,點擊“Finish”完成安裝。
注意:如果你不想了解“Anaconda雲”和“Anaconda支持”,則可以不勾選“Learn more about Anaconda Cloud”和“Learn more about Anaconda Support”。
10. 驗證安裝結果。可選以下任意方法:
① “開始 → Anaconda3(64-bit)→ Anaconda Navigator”,若可以成功啓動Anaconda Navigator則說明安裝成功。
② “開始 → Anaconda3(64-bit)→ 右鍵點擊Anaconda Prompt → 以管理員身份運行”,在Anaconda Prompt中輸入 conda list ,可以查看已經安裝的包名和版本號。若結果可以正常顯示,則說明安裝成功。
-
Linux系統安裝Anaconda
-
前往官方下載頁面下載。有兩個版本可供選擇:Python 3.6 和 Python 2.7。
-
啓動終端,在終端中輸入命令 md5sum /path/filename 或 sha256sum /path/filename
注意:將該步驟命令中的 /path/filename 替換爲文件的實際下載路徑和文件名。其中,path是路徑,filename爲文件名。
強烈建議:
① 路徑和文件名中不要出現空格或其他特殊字符。
② 路徑和文件名最好以英文命名,不要以中文或其他特殊字符命名。
- 根據Python版本的不同有選擇性地在終端輸入命令:
▫ Python 3.6: bash ~/Downloads/Anaconda3-5.0.1-Linux-x86_64.sh
▫ Python 2.7: bash ~/Downloads/Anaconda2-5.0.1-Linux-x86_64.sh
注意:
① 首詞bash也需要輸入,無論是否用的Bash shell。
② 如果你的下載路徑是自定義的,那麼把該步驟路徑中的 ~/Downloads 替換成你自己的下載路徑。
③ 除非被要求使用root權限,否則均選擇“Install Anaconda as a user”。
-
安裝過程中,看到提示“In order to continue the installation process, please review the license agreement.”(“請瀏覽許可證協議以便繼續安裝。”),點擊“Enter”查看“許可證協議”。
-
在“許可證協議”界面將屏幕滾動至底,輸入“yes”表示同意許可證協議內容。然後進行下一步。
-
安裝過程中,提示“Press Enter to accept the default install location, CTRL-C to cancel the installation or specify an alternate installation directory.”(“按回車鍵確認安裝路徑,按’CTRL-C’取消安裝或者指定安裝目錄。”)如果接受默認安裝路徑,則會顯示 PREFIX=/home//anaconda<2 or 3> 並且繼續安裝。安裝過程大約需要幾分鐘的時間。
建議:直接接受默認安裝路徑。
7. 安裝器若提示“Do you wish the installer to prepend the Anaconda<2 or 3> install location to PATH in your /home//.bashrc ?”(“你希望安裝器添加Anaconda安裝路徑在 /home//.bashrc 文件中嗎?”),建議輸入“yes”。
注意:
① 路徑 /home//.bash_rc 中 “” 即進入到家目錄後你的目錄名。
② 如果輸入“no”,則需要手動添加路徑,否則conda將無法正常運行。
-
當看到“Thank you for installing Anaconda<2 or 3>!”則說明已經成功完成安裝。
-
關閉終端,然後再打開終端以使安裝後的Anaconda啓動。或者直接在終端中輸入 source ~/.bashrc 也可完成啓動。
-
驗證安裝結果。可選用以下任意一種方法:
① 在終端中輸入命令 condal list ,如果Anaconda被成功安裝,則會顯示已經安裝的包名和版本號。
② 在終端中輸入 python 。這條命令將會啓動Python交互界面,如果Anaconda被成功安裝並且可以運行,則將會在Python版本號的右邊顯示“Anaconda custom (64-bit)”。退出Python交互界面則輸入 exit() 或 quit() 即可。
③ 在終端中輸入 anaconda-navigator 。如果Anaconda被成功安裝,則Anaconda Navigator將會被啓動。
四、管理conda
0. 寫在前面
接下來均是以命令行模式進行介紹,Windows用戶請打開“Anaconda Prompt”;macOS和Linux用戶請打開“Terminal”(“終端”)進行操作。
-
驗證conda已被安裝
conda --version
終端上將會以 conda 版本號 的形式顯示當前安裝conda的版本號。如: conda 3.11.0
注意:如果出現錯誤信息,則需覈實是否出現以下情況:
① 使用的用戶是否是安裝Anaconda時的賬戶。
② 是否在安裝Anaconda之後重啓了終端。
-
更新conda至最新版本
conda update conda
執行命令後,conda將會對版本進行比較並列出可以升級的版本。同時,也會告知用戶其他相關包也會升級到相應版本。
當較新的版本可以用於升級時,終端會顯示 Proceed ([y]/n)? ,此時輸入 y 即可進行升級。
-
查看conda幫助信息
conda --help
或
conda -h
- 卸載conda
① Linux 或 macOS
rm -rf ~/anaconda2
或
rm -rf ~/anaconda3
即刪除Anaconda的安裝目錄。根據安裝的Anaconda版本選擇相應的卸載命令。
② Windows
控制面板 → 添加或刪除程序 → 選擇“Python X.X (Anaconda)” → 點擊“刪除程序”
注意:
① Python X.X:即Python的版本,如:Python 3.6。
② Windows 10的刪除有所不同。
五、管理環境
0. 寫在前面
接下來均是以命令行模式進行介紹,Windows用戶請打開“Anaconda Prompt”;macOS和Linux用戶請打開“Terminal”(“終端”)進行操作。
-
創建新環境
conda create --name <env_name> <package_names>
注意:
▫ <env_name> 即創建的環境名。建議以英文命名,且不加空格,名稱兩邊不加尖括號“<>”。
▫ <package_names> 即安裝在環境中的包名。名稱兩邊不加尖括號“<>”。
① 如果要安裝指定的版本號,則只需要在包名後面以 = 和版本號的形式執行。如: conda create --name python2 python=2.7 ,即創建一個名爲“python2”的環境,環境中安裝版本爲2.7的python。
② 如果要在新創建的環境中創建多個包,則直接在 <package_names> 後以空格隔開,添加多個包名即可。如: conda create -n python3 python=3.5 numpy pandas ,即創建一個名爲“python3”的環境,環境中安裝版本爲3.5的python,同時也安裝了numpy和pandas。
▫ --name 同樣可以替換爲 -n 。
提示:默認情況下,新創建的環境將會被保存在 /Users/<user_name>/anaconda3/env 目錄下,其中, <user_name> 爲當前用戶的用戶名。
- 切換環境
① Linux 或 macOS
source activate <env_name>
② Windows
activate <env_name>
③ 提示
如果創建環境後安裝Python時沒有指定Python的版本,那麼將會安裝與Anaconda版本相同的Python版本,即如果安裝Anaconda第2版,則會自動安裝Python 2.x;如果安裝Anaconda第3版,則會自動安裝Python 3.x。
當成功切換環境之後,在該行行首將以“(env_name)”或“[env_name]”開頭。其中,“env_name”爲切換到的環境名。如:在macOS系統中執行 source active python2 ,即切換至名爲“python2”的環境,則行首將會以(python2)開頭。
- 退出環境至root
① Linux 或 macOS
source deactivate
② Windows
deactivate
③ 提示
當執行退出當前環境,回到root環境命令後,原本行首以“(env_name)”或“[env_name]”開頭的字符將不再顯示。
-
顯示已創建環境
conda info --envs
或
conda info -e
或
conda env list
例如:
結果中星號“*”所在行即爲當前所在環境。macOS系統中默認創建的環境名爲“base”。
-
複製環境
conda create --name <new_env_name> --clone <copied_env_name>
注意:
① <copied_env_name> 即爲被複制/克隆環境名。環境名兩邊不加尖括號“<>”。
② <new_env_name> 即爲複製之後新環境的名稱。環境名兩邊不加尖括號“<>”。
③ conda create --name py2 --clone python2 ,即爲克隆名爲“python2”的環境,克隆後的新環境名爲“py2”。此時,環境中將同時存在“python2”和“py2”環境,且兩個環境的配置相同。
-
刪除環境
conda remove --name <env_name> --all
注意: <env_name> 爲被刪除環境的名稱。環境名兩邊不加尖括號“<>”。
六、管理包
- 查找可供安裝的包版本
① 精確查找
conda search --full-name <package_full_name>
注意:
① --full-name 爲精確查找的參數。
② <package_full_name> 是被查找包的全名。包名兩邊不加尖括號“<>”。
例如: conda search --full-name python 即查找全名爲“python”的包有哪些版本可供安裝。
② 模糊查找
conda search <text>
注意:
例如: conda search py 即查找含有“py”字段的包,有哪些版本可供安裝。
-
獲取當前環境中已安裝的包信息
conda list
執行上述命令後將在終端顯示當前環境已安裝包的包名及其版本號。
- 安裝包
① 在指定環境中安裝包
conda install --name <env_name> <package_name>
注意:
① <env_name> 即將包安裝的指定環境名。環境名兩邊不加尖括號“<>”。
② <package_name> 即要安裝的包名。包名兩邊不加尖括號“<>”。
例如: conda install --name python2 pandas 即在名爲“python2”的環境中安裝pandas包。
② 在當前環境中安裝包
conda install <package_name>
注意:
① <package_name> 即要安裝的包名。包名兩邊不加尖括號“<>”。
② 執行命令後在當前環境中安裝包。
例如: conda install pandas 即在當前環境中安裝pandas包。
③ 使用pip安裝包
→ 使用場景
當使用 conda install 無法進行安裝時,可以使用pip進行安裝。例如:see包。
→ 命令
pip install <package_name>
注意: <package_name> 爲指定安裝包的名稱。包名兩邊不加尖括號“<>”。
如: pip install see 即安裝see包。
→ 注意
pip只是包管理器,無法對環境進行管理。因此如果想在指定環境中使用pip進行安裝包,則需要先切換到指定環境中,再使用pip命令安裝包。
pip無法更新python,因爲pip並不將python視爲包。
pip可以安裝一些conda無法安裝的包;conda也可以安裝一些pip無法安裝的包。因此當使用一種命令無法安裝包時,可以嘗試用另一種命令。
④ 從Anaconda.org安裝包
→ 使用場景
當使用 conda install 無法進行安裝時,可以考慮從Anaconda.org中獲取安裝包的命令,並進行安裝。
→ 注意
-
從Anaconda.org安裝包時,無需註冊。
-
在當前環境中安裝來自於Anaconda.org的包時,需要通過輸入要安裝的包在Anaconda.org中的路徑作爲獲取途徑(channel)。查詢路徑的方式如下:
① 在瀏覽器中輸入:http://anaconda.org,或直接點擊Anaconda Cloud
② 在新頁面“Anaconda Cloud”的上方搜索框中輸入要安裝的包名,然後點擊右邊“放大鏡”標誌。
3. 搜索結果中有數以千計的包可供選擇,此時點擊“Downloads”可根據下載量進行排序,最上面的爲下載最多的包。(圖中以搜索bottleneck包爲例)
4. 選擇滿足需求的包或下載量最多的包,點擊包名。
- 複製“To install this package with conda run:”下方的命令,並粘貼在終端中執行。
6. 完成安裝。
- 卸載包
① 卸載指定環境中的包
conda remove --name <env_name> <package_name>
注意:
① <env_name> 即卸載包所在指定環境的名稱。環境名兩邊不加尖括號“<>”。
② <package_name> 即要卸載包的名稱。包名兩邊不加尖括號“<>”。
例如: conda remove --name python2 pandas 即卸載名爲“python2”中的pandas包。
② 卸載當前環境中的包
conda remove <package_name>
注意:
① <package_name> 即要卸載包的名稱。包名兩邊不加尖括號“<>”。
② 執行命令後即在當前環境中卸載指定包。
例如: conda remove pandas 即在當前環境中卸載pandas包。
- 更新包
① 更新所有包
conda update --all
或
conda upgrade --all
建議:在安裝Anaconda之後執行上述命令更新Anaconda中的所有包至最新版本,便於使用。
② 更新指定包
conda update <package_name>
或
conda upgrade <package_name>
注意:
① <package_name> 爲指定更新的包名。包名兩邊不加尖括號“<>”。
② 更新多個指定包,則包名以空格隔開,向後排列。如: conda update pandas numpy matplotlib 即更新pandas、numpy、matplotlib包。
七、參考資料
知乎“初學python者自學anaconda的正確姿勢是什麼??”猴子的回答
Anaconda Cheat Sheet
Anaconda官方網站
conda官方網站
pip官方網站
virtualenv官方網站
macOS系統安裝Anaconda的官方教程
Windows系統安裝Anaconda的官方教程
Linux系統安裝Anaconda的官方教程
conda官方使用指南