Ubuntu Anaconda安裝
一、什麼是Anaconda?
1. 簡介
Anaconda(官方網站)就是可以便捷獲取包且對包能夠進行管理,同時對環境可以統一管理的發行版本。Anaconda包含了conda、Python在內的超過180個科學包及其依賴項。
2. 特點
Anaconda具有如下特點:
▪ 開源
▪ 安裝過程簡單
▪ 高性能使用Python和R語言
▪ 免費的社區支持
其特點的實現主要基於Anaconda擁有的:
▪ conda包
▪ 環境管理器
▪ 1,000+開源庫
如果日常工作或學習並不必要使用1,000多個庫,那麼可以考慮安裝Miniconda(下載界面請戳),這裏不過多介紹Miniconda的安裝及使用。
3. 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的適用平臺及安裝條件
1. 適用平臺
Anaconda可以在以下系統平臺中安裝和使用:
▪ Windows
▪ macOS
▪ Linux(x86 / Power8)
2. 安裝條件
▪ 系統要求:32位或64位系統均可
▪ 下載文件大小:約500MB
▪ 所需空間大小:3GB空間大小(Miniconda僅需400MB空間即可)
三、Anaconda 安裝及使用
如前文所說,如果不需要Anaconda裏的衆多包,可以安裝Miniconda
1. 下載安裝
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# 根據提示yes/no
bash Miniconda3-latest-Linux-x86_64.sh
2. 查看conda 版本
conda --version
3. 更新conda
conda update conda
4. 查看conda幫助
conda --help
#或
conda -h
5. 新建虛擬環境
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 conda-test python=3.6 numpy pandas,即創建一個名爲“conda-test ”的環境,環境中安裝版本爲3.6的python,同時也安裝了numpy和pandas。
-
–name同樣可以替換爲-n。
6. 切換conda環境
conda activate env_name
7. 退出虛擬環境
conda deactivate
8. 顯示安裝過的所有虛擬環境
conda info --envs
#或
conda info -e
#或
conda env list
9. 複製環境
conda create --name new_env_name --clone copied_env_name
注意:
-
copied_env_name即爲被複制/克隆環境名。
-
new_env_name即爲複製之後新環境的名稱。
10. 刪除環境
conda remove --name env_name --all
11. 包管理
#精確查找包
conda search --full-name 查找的包名
#模糊查找包
conda search 查找的內容
#獲取當前環境中已安裝的包信息
conda list
#指定環境安裝包
conda install --name 環境名 要安裝的包名
#要指定版本 在conda-test環境中安裝 django並制定版本爲2.0.6
conda install --name conda-test django=2.0.6
#在當前環境中安裝包
conda install 要安裝的包名
12. 如果conda安裝不上的包,或者沒有的包,可以使用pip安裝
pip install 安裝的包名
13. 跨機器克隆conda環境
#將原機器的目標目錄copy到新機器的目錄,然後調研clone命令
conda create -n BBB --clone ~/path
#但是 移植過來的環境只是安裝了你原來環境裏用conda install等命令直接安裝的包,你用pip之類裝的東西沒有移植過來,需要你重新安裝