Anaconda是專一於數據分析的Python發行版本,包含了conda、Python等190多個科學包及其依賴項。做爲好奇寶寶的你是否是發現了一個新名詞 conda,那麼你必定會問 conda 又是什麼呢?
conda 是開源包(packages)和虛擬環境(environment)的管理系統。 packages 管理: 可使用 conda 來安裝、更新 、卸載工具包 ,而且它更關注於數據科學相關的工具包。在安裝 anaconda 時就預先集成了像 Numpy、Scipy、 pandas、Scikit-learn 這些在數據分析中經常使用的包。另外值得一提的是,conda 並不只僅管理Python的工具包,它也能安裝非python的包。好比在新版的 Anaconda 中就能夠安裝R語言的集成開發環境 Rstudio。 虛擬環境管理: 在conda中能夠創建多個虛擬環境,用於隔離不一樣項目所需的不一樣版本的工具包,以防止版本上的衝突。對糾結於 Python 版本的同窗們,咱們也能夠創建 Python2 和 Python3 兩個環境,來分別運行不一樣版本的 Python 代碼。 知道 是什麼(what) 的同時,咱們也須要問一問 爲何(why)。那麼,爲何要選擇用Anaconda呢?
Anaconda的優勢總結起來就八個字:省時省心、分析利器。
省時省心: Anaconda經過管理工具包、開發環境、Python版本,大大簡化了你的工做流程。不只能夠方便地安裝、更新、卸載工具包,並且安裝時能自動安裝相應的依賴包,同時還能使用不一樣的虛擬環境隔離不一樣要求的項目。
分析利器: 在 Anaconda 官網中是這麼宣傳本身的:適用於企業級大數據分析的Python工具。其包含了720多個數據科學相關的開源包,在數據可視化、機器學習、深度學習等多方面都有涉及。不只能夠作數據分析,甚至能夠用在大數據和人工智能領域。
開源
安裝過程簡單
高性能使用Python和R語言
免費的社區支持
其特色的實現主要基於Anaconda擁有的:
conda包
環境管理器
1000+開源庫
① AnacondaAnaconda是一個包含180+的科學包及其依賴項的發行版本。其包含的科學包包括:conda, numpy, scipy, ipython notebook等。
② condaconda是包及其依賴項和環境的管理工具。
適用語言:Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。
適用平臺:Windows, macOS, Linux
用途:快速安裝、運行和升級包及其依賴項。
在計算機中便捷地建立、保存、加載和切換環境。
若是你須要的包要求不一樣版本的Python,你無需切換到不一樣的環境,由於conda一樣是一個環境管理器。
僅須要幾條命令,你能夠建立一個徹底獨立的環境來運行不一樣的Python版本,同時繼續在你常規的環境中使用你經常使用的Python版本。 ——conda官方網站
conda爲Python項目而創造,但可適用於上述的多種語言。
conda包和環境管理器包含於Anaconda的全部版本當中。
③ pippip是用於安裝和管理軟件包的包管理器。
pip編寫語言:Python。
Python中默認安裝的版本:Python 2.7.9及後續版本:默認安裝,命令爲pip
Python 3.4及後續版本:默認安裝,命令爲pip3
pip名稱的由來:pip採用的是遞歸縮寫進行命名的。其名字被廣泛認爲來源於2處:
「Pip installs Packages」(「pip安裝包」)
「Pip installs Python」(「pip安裝Python」)
④ virtualenvvirtualenv:用於建立一個獨立的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的功能。
1. 適用平臺 Anaconda能夠在如下系統平臺中安裝和使用: Windows macOS Linux(x86 / Power8) 2. 安裝條件 系統要求:32位或64位系統都可 下載文件大小:約500MB 所需空間大小:3GB空間大小(Miniconda僅需400MB空間便可)
1.下載Anaconda:官方下載頁面python
兩個版本可供選擇:Python 3.6 和 Python 2.7,選擇版以後根據本身操做系統的狀況點擊「64-Bit Graphical Installer」或「32-Bit Graphical Installer」進行下載。
2.後面傻瓜式安裝windows
注意:
目標路徑中不能含有空格,同時不能是「unicode」編碼。
除非被要求以管理員權限安裝,不然不要以管理員身份安裝。
·在「Advanced Installation Options」中不要勾選「Add Anaconda to my PATH environment variable.」(「添加Anaconda至個人環境變量。」)。由於若是勾選,則將會影響其餘程序的使用。若是使用Anaconda,則經過打開Anaconda Navigator或者在開始菜單中的「Anaconda Prompt」(相似macOS中·的「終端」)中進行使用。python2.7
·除非你打算使用多個版本的Anaconda或者多個版本的Python,不然便勾選「Register Anaconda as my default Python 3.6」。而後點擊「Install」開始安裝。機器學習
下面命令適用於windows用戶
Windows用戶請打開「Anaconda Prompt」進行操做。
查看conda版本工具
congda --version
更新conda性能
conda update conda
conda update --all
conda update --all,對全部工具包進行升級,常常用在安裝完成後,以免可能發送的錯誤。學習
查看conda幫助信息大數據
conda --help
或
conda -h
建立新環境網站
conda create --name
建立指定版本的環境編碼
conda create --name python2 python=2.7
即建立一個名爲「python2」的環境,環境中安裝版本爲2.7的python。
建立指定版本與指定包環境
conda create -n python3 python=3.5 numpy pandas
即建立一個名爲「python3」的環境,環境中安裝版本爲3.5的python,同時也安裝了numpy和pandas。
注意: --name一樣能夠替換爲-n。 默認狀況下,新建立的環境將會被保存在/Users//anaconda3/env目錄下,其中,爲當前用戶的用戶名。 若是建立環境後安裝Python時沒有指定Python的版本,那麼將會安裝與Anaconda版本相同的Python版本,即若是安裝Anaconda第2版,則會自動安裝Python 2.x;若是安裝Anaconda第3版,則會自動安裝Python 3.x。
切換環境
activate
當成功切換環境以後,在該行行首將以「(env_name)」或「[env_name]」開頭。其中,「env_name」爲切換到的環境名。如:在macOS系統中執行source active python2,即切換至名爲「python2」的環境,則行首將會以(python2)開頭。
退出環境
deactivate
當執行退出當前環境,回到root環境命令後,本來行首以「(env_name)」或「[env_name]」開頭的字符將再也不顯示。
顯示已建立的環境
conda info --envs 或 conda info -e 或 conda envlist
結果中星號「*」所在行即爲當前所在環境。macOS系統中默認建立的環境名爲「base」。
複製環境
conda create --name--clone
注意:即爲被複制/克隆環境名。環境名兩邊不加尖括號「<>」。即爲複製以後新環境的名稱。環境名兩邊不加尖括號「<>」。如:conda create --name py2 --clone python2,即爲克隆名爲「python2」的環境,克隆後的新環境名爲「py2」。此時,環境中將同時存在「python2」和「py2」環境,且兩個環境的配置相同。
刪除環境
conda remove --name--all
查找可供安裝的包版本
① 精確查找
conda search --full-name
注意:--full-name爲精確查找的參數。
是被查找包的全名。包名兩邊不加尖括號「<>」。
例如:conda search --full-name python即查找全名爲「python」的包有哪些版本可供安裝。
② 模糊查找conda search
注意:是查找含有此字段的包名。此字段兩邊不加尖括號「<>」。
例如:conda search py即查找含有「py」字段的包,有哪些版本可供安裝。
獲取當前環境中已經安裝的包信息
conda list 執行上述命令後將在終端顯示當前環境已安裝包的包名及其版本號。
安裝一個 package
conda install package_name
安裝多個 package
conda install numpy scipy pandas
指定安裝版本
conda install numpy=1.10
刪除一個 package
conda remove package_name
升級 package 版本
conda update package_name
查看可供安裝的包版本
精確查找
conda search --full-name python
conda search --full-name python即查找全名爲「python」的包有哪些版本可供安裝。
模糊查詢
conda search py
conda search py即查找含有「py」字段的包,有哪些版本可供安裝。
卸載指定環境的包
conda remove --name python2 pandas
即卸載名爲「python2」中的pandas包。
卸載當前環境中的包
conda remove pandas
即在當前環境中卸載pandas包。
conda update --all
或
conda upgrade --all
更新指定包
conda update pandas numpy metaplotilb
即更新pandas、numpy、matplotlib包。