Anaconda用來管理Python的包和環(huán)境观话。Anaconda便于安裝數(shù)據(jù)科學(xué)工作中常用的軟件包。你還可以使用它來創(chuàng)建虛擬環(huán)境扑眉,當你在進行多個項目的時候可以少走很多彎路图呢。Anaconda可以簡化我們的工作,解決大量包管理和Python多版本的問題需纳。
Anaconda包含了conda芦倒、Python和其它大約150個軟件包和它們所依賴的軟件。Anaconda的包體很大(大約500MB)不翩,因為它包含了大多數(shù)據(jù)科學(xué)相關(guān)的Python軟件包兵扬。如果你不需要所有的軟件包或者想要節(jié)省流量和存儲空間,可以使用一個叫Miniconda的程序口蝠,它只包含了canda和Python器钟,你可以通過canda安裝所有可用的軟件包。
也許你已經(jīng)安裝了Python妙蔗,或者在想為什么還需要Conda傲霸。首先,Anaconda包含了大量的數(shù)據(jù)科學(xué)軟件包眉反,你可以直接開始進行數(shù)據(jù)處理工作昙啄;其次,使用conda來管理你的軟件包和環(huán)境可以避免將來遇到由不同工具庫版本引起的問題寸五。
軟件包管理
軟件包管理通常用于在你的電腦上安裝類庫和其它軟件梳凛。你可能對pip比較熟悉,它是Python默認的類庫管理工具梳杏。Conda和pip很相似韧拒,但它所包含的軟件包主要圍繞于數(shù)據(jù)科學(xué)方面,而pip則更通用一些十性“饶可是conda并不像pip那樣只用于Python,它還能夠安裝非Python的軟件包烁试。他是一個適用于任何軟件棧的包管理工具。也就是說拢肆,并不是所有的Python庫都能夠通過Anaconda和conda安裝减响。你仍需要使用pip和conda來安裝相關(guān)的軟件靖诗。
環(huán)境
除了軟件包管理,Conda還是一個虛擬環(huán)境管理工具支示。就像virtualenv和pyenv刊橘,或者其他流行的環(huán)境管理工具。
多環(huán)境允許在你進行多個項目的時候颂鸿,將軟件包獨立隔絕促绵。有時你在工作中需要依賴類庫的不同版本。比如嘴纺,可能你有代碼需要使用Numpy的新特性败晴,又或者使用那些已經(jīng)移除了的舊特性。但同時安裝兩個Numpy版本不太現(xiàn)實栽渴。所以尖坤,你需要為不同的項目搭建不同的環(huán)境來安裝不同的Numpy版本。
使用Python2 和 Python3中時經(jīng)常會遇到這些問題闲擦。你的舊代碼不能運行在Python3中慢味,新代碼不能運行在Python2中。同時安裝這兩個版本會造成大量的困擾和bugs墅冷。所以最好把環(huán)境分離纯路。
你能夠?qū)⒁粋€環(huán)境的軟件包導(dǎo)出到一個文件中,然后在你的代碼中引入寞忿。這也方便別人加載所有的依賴驰唬。Pip也有相似的功能pip freeze > requirements.txt。
下一步罐脊,我們會深入Anaconda的細節(jié)定嗓。首先會談到Anaconda的安裝,然后使用軟件包管理工具萍桌,最后創(chuàng)建和管理多個環(huán)境宵溅。