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包。app
這裏先解釋下conda、anaconda這些概念的差異。conda能夠理解爲一個工具,也是一個可執行命令,其核心功能是包管理與環境管理。包管理與pip的使用相似,環境管理則容許用戶方便地安裝不一樣版本的python並能夠快速切換。Anaconda則是一個打包的集合,裏面預裝好了conda、某個版本的python、衆多packages、科學計算工具等等,因此也稱爲Python的一種發行版。其實還有Miniconda,顧名思義,它只包含最基本的內容——python與conda,以及相關的必須依賴項,對於空間要求嚴格的用戶,Miniconda是一種選擇。機器學習
進入下文以前,說明一下conda的設計理念——conda將幾乎全部的工具、第三方包都當作package對待,甚至包括python和conda自身!所以,conda打破了包管理與環境管理的約束,能很是方便地安裝各類版本python、各類package並方便地切換。scrapy
Anaconda 附帶了一大批經常使用數據科學包,它附帶了 conda、Python 和 150 多個科學包及其依賴項。所以你能夠當即開始處理數據。函數
Anaconda 是在 conda(一個包管理器和環境管理器)上發展出來的。可使用 conda 來安裝、更新 、卸載工具包 ,而且它更關注於數據科學相關的工具包。在安裝 anaconda 時就預先集成了像 Numpy、Scipy、 pandas、Scikit-learn 這些在數據分析中經常使用的包。另外值得一提的是,conda 並不單單管理Python的工具包,它也能安裝非python的包。好比在新版的 Anaconda 中就能夠安裝R語言的集成開發環境 Rstudio。工具
在conda中能夠創建多個虛擬環境,用於隔離不一樣項目所需的不一樣版本的工具包,以防止版本上的衝突。對糾結於 Python 版本的同窗們,咱們也能夠創建 Python2 和 Python3 兩個環境,來分別運行不一樣版本的 Python 代碼。學習
Anaconda還包含一些功能強大的工具大數據
官網點擊Download進入下載頁面,選擇對應的平臺和版本下載,我這裏是Anaconda3-2019.03-MacOSX-x86_64.pkg
這個版本ui
下載完成後雙擊下一步下一步知道安裝完成,安裝完成後自動會把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