Anaconda是一個免費開源的Python和R語言的發行版本,用於計算科學(數據科學、機器學習、大數據處理和預測分析),Anaconda致力於簡化包管理和部署。Anaconda的包使用軟件包管理系統Conda進行管理。超過1200萬人使用Anaconda發行版本,而且Anaconda擁有超過1400個適用於Windows、Linux和MacOS的數據科學軟件包。python
Anaconda擁有超過1400個軟件包其中包含Conda和虛擬環境管理,他們都被包含在Anaconda Navigator中,所以無需去了解獨立安裝每一個庫。支持 Linux, Mac, Windows系統,提供了包管理與環境管理的功能,能夠很方便地解決多版本python並存、切換以及各類第三方包安裝問題。Anaconda利用工具/命令conda來進行package和environment的管理,而且已經包含了Python和相關的配套工具。可使用已經包含在Anaconda中的命令conda install或者pip install從Anaconda倉庫中安裝開源軟件包。Pip提供了Conda大部分功能,而且大多數狀況下兩個能夠同時使用。可使用conda build命令構建自定義包,而後經過上傳到Anaconda Cloud、PyPI或其餘倉庫來分享給其餘人。web
Anaconda2默認包含Python 2.7,Anaconda3默認包含Python 3.7,可是你能夠建立虛擬環境來使用任意版本的Python包。bash
這裏先解釋下conda、anaconda這些概念的差異。conda能夠理解爲一個工具,也是一個可執行命令,其核心功能是包管理與環境管理。包管理與pip的使用相似,環境管理則容許用戶方便地安裝不一樣版本的python並能夠快速切換。Anaconda則是一個打包的集合,裏面預裝好了conda、某個版本的python、衆多packages、科學計算工具等等,因此也稱爲Python的一種發行版。其實還有Miniconda,顧名思義,它只包含最基本的內容——python與conda,以及相關的必須依賴項,對於空間要求嚴格的用戶,Miniconda是一種選擇。app
進入下文以前,說明一下conda的設計理念——conda將幾乎全部的工具、第三方包都當作package對待,甚至包括python和conda自身!所以,conda打破了包管理與環境管理的約束,能很是方便地安裝各類版本python、各類package並方便地切換。機器學習
Anaconda 附帶了一大批經常使用數據科學包,它附帶了 conda、Python 和 150 多個科學包及其依賴項。所以你能夠當即開始處理數據。scrapy
Anaconda 是在 conda(一個包管理器和環境管理器)上發展出來的。可使用 conda 來安裝、更新 、卸載工具包 ,而且它更關注於數據科學相關的工具包。在安裝 anaconda 時就預先集成了像 Numpy、Scipy、 pandas、Scikit-learn 這些在數據分析中經常使用的包。另外值得一提的是,conda 並不單單管理Python的工具包,它也能安裝非python的包。好比在新版的 Anaconda 中就能夠安裝R語言的集成開發環境 Rstudio。函數
在conda中能夠創建多個虛擬環境,用於隔離不一樣項目所需的不一樣版本的工具包,以防止版本上的衝突。對糾結於 Python 版本的同窗們,咱們也能夠創建 Python2 和 Python3 兩個環境,來分別運行不一樣版本的 Python 代碼。工具
Anaconda還包含一些功能強大的工具學習
Anaconda Navigtor :用於管理工具包和環境的圖形用戶界面,後續涉及的衆多管理命令也能夠在 Navigator 中手工實現。大數據
Jupyter notebook :基於web的交互式計算環境,能夠編輯易於人們閱讀的文檔,用於展現數據分析的過程。
qtconsole :一個可執行 IPython 的仿終端圖形界面程序,相比 Python Shell 界面,qtconsole 能夠直接顯示代碼生成的圖形,實現多行代碼輸入執行,以及內置許多有用的功能和函數。
spyder :一個使用Python語言、跨平臺的、科學運算集成開發環境。
官網點擊Download進入下載頁面,選擇對應的平臺和版本下載,我這裏是Anaconda3-2019.03-MacOSX-x86_64.pkg
這個版本
下載完成後雙擊下一步下一步知道安裝完成,安裝完成後自動會把anaconda的執行文件的路徑添加到環境變量中無需手動配置,如何須要手動改變須要自行配置。
# 獲取幫助
$ conda --help
# 安裝完成後驗證conda的版本和python的版本等詳細信息
$ conda info
C:\>conda info
active environment : None
user config file : C:\Users\Andy\.condarc
populated config files : C:\Users\Andy\.condarc
conda version : 4.6.12
conda-build version : 3.10.5
python version : 3.6.2.final.0
base environment : D:\software\devapps\anaconda3-5.2.0 (writable)
channel URLs : https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/win-64
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/noarch
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/win-64
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/noarch
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/win-64
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch
https://repo.anaconda.com/pkgs/main/win-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/free/win-64
https://repo.anaconda.com/pkgs/free/noarch
https://repo.anaconda.com/pkgs/r/win-64
https://repo.anaconda.com/pkgs/r/noarch
https://repo.anaconda.com/pkgs/msys2/win-64
https://repo.anaconda.com/pkgs/msys2/noarch
package cache : D:\software\devapps\anaconda3-5.2.0\pkgs
C:\Users\Andy\.conda\pkgs
C:\Users\Andy\AppData\Local\conda\conda\pkgs
envs directories : D:\software\devapps\anaconda3-5.2.0\envs
C:\Users\Andy\.conda\envs
C:\Users\Andy\AppData\Local\conda\conda\envs
platform : win-64
user-agent : conda/4.6.12 requests/2.21.0 CPython/3.6.2 Windows/10 Windows/10.0.17763
administrator : False
netrc file : None
offline mode : False
C:\>
# 列出我本機的全部環境,第一個是本身建立的,後面的是我本身後續建立的
$ conda info -e
C:\Users\Andy>conda info -e
# conda environments:
#
base * D:\software\devapps\anaconda3-5.2.0
python27 D:\software\devapps\anaconda3-5.2.0\envs\python27
python36 D:\software\devapps\anaconda3-5.2.0\envs\python36
python37 D:\software\devapps\anaconda3-5.2.0\envs\python37
C:\Users\Andy>
複製代碼
通常來講 conda 倉庫的軟件沒有 PyPI 更新快和全。因此推薦 conda 只用來建立虛擬環境,包的安裝管理仍然使用 pip。
# 列出當前環境下全部安裝的 conda 包。
$ conda list
# 列舉一個指定環境下的全部包
$ conda list -n env_name
# 查詢庫
$ conda search scrapys
# 安裝庫安裝時能夠指定版本例如:(scrapy=1.5.0)
$ conda install scrapy
# 爲指定環境安裝某個包
$ conda install --name target_env_name package_name
# 更新安裝的庫
$ conda update scrapy
# 更新指定環境某個包
$ conda update -n target_env_name package_name
# 更新全部包
$ conda update --all
# 刪除已經安裝的庫也尅用(conda uninstall)
$ conda remove scrapy
# 刪除指定環境某個包
$ conda remove -n target_env_name package_name
# 刪除沒有用的包
$ conda clean -p
複製代碼
# 建立環境,後面的python=3.6是指定python的版本
$ conda create --name env_name python=3.6
# 建立包含某些包的環境(也能夠加上版本信息)
$ conda create --name env_name python=3.7 numpy scrapy
# 激活某個環境
$ activate env_name
# 關閉某個環境
$ conda deactivate
# 複製某個環境
$ conda create --name new_env_name --clone old_env_name
# 刪除某個環境
$ conda remove --name env_name --all
# 生成須要分享環境的yml文件(須要在虛擬環境中執行)
$ conda env export > environment.yml
# 別人在本身本地使用yml文件建立虛擬環境
$ conda env create -f environment.yml
複製代碼