轉(zhuǎn)載自:http://www.reibang.com/p/eaee1fadc1e9
打算學(xué)習(xí) Python 來做數(shù)據(jù)分析的你竿刁,是不是在開始時就遇到各種麻煩呢?
activate // 切換到base環(huán)境
activate learn // 切換到learn環(huán)境
conda create -n learn python=3 // 創(chuàng)建一個名為learn的環(huán)境并指定python版本為3(的最新版本)
conda env list // 列出conda管理的所有環(huán)境
conda list // 列出當(dāng)前環(huán)境的所有包
conda install requests 安裝requests包
conda remove requests 卸載requets包
conda remove -n learn --all // 刪除learn環(huán)境及下屬所有包
conda update requests 更新requests包
conda env export > environment.yaml // 導(dǎo)出當(dāng)前環(huán)境的包信息
conda env create -f environment.yaml // 用配置文件創(chuàng)建新的虛擬環(huán)境
作者:AC手環(huán)
鏈接:http://www.reibang.com/p/eaee1fadc1e9
來源:簡書
簡書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請聯(lián)系作者獲得授權(quán)并注明出處拍柒。
本文介紹了Anaconda的使用嗜诀,全文大綱如下:
- 為什么選擇 Anaconda
- 什么是 Anaconda
- 什么是 conda
- Anaconda 的優(yōu)點
- 如何安裝 Anaconda
- 如何管理 Python 包
- 如何管理 Python 環(huán)境
一、為什么選擇Anaconda炬太?
1.1 什么是 Anaconda灸蟆?
Anaconda是專注于數(shù)據(jù)分析的Python發(fā)行版本,包含了conda亲族、Python等190多個科學(xué)包及其依賴項炒考。作為好奇寶寶的你是不是發(fā)現(xiàn)了一個新名詞 conda,那么你一定會問 conda 又是什么呢霎迫?
1.2 什么是 conda 斋枢?
conda 是開源包(packages)和虛擬環(huán)境(environment)的管理系統(tǒng)。
- packages 管理: 可以使用 conda 來安裝知给、更新 瓤帚、卸載工具包 ,并且它更關(guān)注于數(shù)據(jù)科學(xué)相關(guān)的工具包涩赢。在安裝 anaconda 時就預(yù)先集成了像 Numpy戈次、Scipy、 pandas筒扒、Scikit-learn 這些在數(shù)據(jù)分析中常用的包怯邪。另外值得一提的是,conda 并不僅僅管理Python的工具包花墩,它也能安裝非python的包悬秉。比如在新版的 Anaconda 中就可以安裝R語言的集成開發(fā)環(huán)境 Rstudio。
- 虛擬環(huán)境管理: 在conda中可以建立多個虛擬環(huán)境观游,用于隔離不同項目所需的不同版本的工具包搂捧,以防止版本上的沖突。對糾結(jié)于 Python 版本的同學(xué)們懂缕,我們也可以建立 Python2 和 Python3 兩個環(huán)境允跑,來分別運行不同版本的 Python 代碼。
知道 是什么(what) 的同時,我們也需要問一問 為什么(why)聋丝。那么索烹,為什么要選擇用Anaconda呢?
1.3 Anaconda 的優(yōu)點弱睦?
Anaconda的優(yōu)點總結(jié)起來就八個字:省時省心百姓、分析利器。
- 省時省心: Anaconda通過管理工具包况木、開發(fā)環(huán)境垒拢、Python版本,大大簡化了你的工作流程火惊。不僅可以方便地安裝求类、更新、卸載工具包屹耐,而且安裝時能自動安裝相應(yīng)的依賴包尸疆,同時還能使用不同的虛擬環(huán)境隔離不同要求的項目。
- 分析利器: 在 Anaconda 官網(wǎng)中是這么宣傳自己的:適用于企業(yè)級大數(shù)據(jù)分析的Python工具惶岭。其包含了720多個數(shù)據(jù)科學(xué)相關(guān)的開源包寿弱,在數(shù)據(jù)可視化、機器學(xué)習(xí)按灶、深度學(xué)習(xí)等多方面都有涉及症革。不僅可以做數(shù)據(jù)分析,甚至可以用在大數(shù)據(jù)和人工智能領(lǐng)域兆衅。
解決了 是什么 以及 為什么 的問題后地沮,下面讓我們看一下 怎么做(How)。
二羡亩、如何安裝Anaconda摩疑?
可以從這里下載 Anaconda 的安裝程序以及查看安裝說明。無論是 Windows畏铆、Linux 還是 MAC 的 OSX 系統(tǒng)雷袋,都可以找到對應(yīng)的安裝軟件。如果你的電腦是64位則盡量選64位版本辞居。至于 Python 的版本是 2.7 還是 3.x楷怒,這里推薦你使用 Python3,因為 Python2 終將停止維護瓦灶○荆可能目前市面上大多數(shù)教程使用的都還是 Python2,這也不用著急贼陶,因為在 Anaconda 中可以同時管理兩個 Python 版本的環(huán)境刃泡。
根據(jù)提示進行安裝巧娱,完成后你大概會驚訝地發(fā)現(xiàn)電腦中多了好多應(yīng)用,不用擔(dān)心烘贴,我們一項項來看:
- Anaconda Navigtor :用于管理工具包和環(huán)境的圖形用戶界面禁添,后續(xù)涉及的眾多管理命令也可以在 Navigator 中手工實現(xiàn)。
- Jupyter notebook :基于web的交互式計算環(huán)境桨踪,可以編輯易于人們閱讀的文檔老翘,用于展示數(shù)據(jù)分析的過程。
- qtconsole :一個可執(zhí)行 IPython 的仿終端圖形界面程序锻离,相比 Python Shell 界面铺峭,qtconsole 可以直接顯示代碼生成的圖形,實現(xiàn)多行代碼輸入執(zhí)行汽纠,以及內(nèi)置許多有用的功能和函數(shù)逛薇。
- spyder :一個使用Python語言牺荠、跨平臺的录肯、科學(xué)運算集成開發(fā)環(huán)境帝蒿。
安裝完成后,我們還需要對所有工具包進行升級卧秘,以避免可能發(fā)生的錯誤。打開你電腦的終端官扣,在命令行中輸入:
<textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" style="border: none; outline: none; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; font-size: 13px !important; line-height: 15px !important; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; display: block; -webkit-appearance: none; padding: 0px 5px; width: 608px; height: 42.9px; resize: none; overflow: auto; margin: 0px; position: absolute; opacity: 0; box-sizing: border-box; border-radius: 0px; box-shadow: none; white-space: pre; overflow-wrap: normal; color: rgb(0, 0, 0); background: rgb(255, 255, 255); tab-size: 4; z-index: 0;"></textarea>
|
1
|
conda upgrade --all
|
在終端詢問是否安裝如下升級版本時翅敌,輸入 y
。
有的情況下惕蹄,你可能會遇到找不到 conda 命令的錯誤提示蚯涮,這很可能是環(huán)境路徑設(shè)置的問題,需要添加conda環(huán)境變量:export PATH=xxx/anaconda/bin:$PATH
, 其中xxx替換成anaconda的安裝路徑卖陵。
至此遭顶,安裝完成,下面讓我們看一下如何用 Anaconda 管理工具包和環(huán)境泪蔫。
三棒旗、如何管理Python包?
安裝一個 package:
<textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" style="border: none; outline: none; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; font-size: 13px !important; line-height: 15px !important; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; display: block; -webkit-appearance: none; padding: 0px 5px; width: 608px; height: 42.9px; resize: none; overflow: auto; margin: 0px; position: absolute; opacity: 0; box-sizing: border-box; border-radius: 0px; box-shadow: none; white-space: pre; overflow-wrap: normal; color: rgb(0, 0, 0); background: rgb(255, 255, 255); tab-size: 4; z-index: 0;"></textarea>
|
1
|
conda install package_name
|
這里 package_name 是需要安裝包的名稱撩荣。你也可以同時安裝多個包铣揉,比如同時安裝numpy 、scipy 和 pandas餐曹,則執(zhí)行如下命令:
<textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" style="border: none; outline: none; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; font-size: 13px !important; line-height: 15px !important; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; display: block; -webkit-appearance: none; padding: 0px 5px; width: 608px; height: 42.9px; resize: none; overflow: auto; margin: 0px; position: absolute; opacity: 0; box-sizing: border-box; border-radius: 0px; box-shadow: none; white-space: pre; overflow-wrap: normal; color: rgb(0, 0, 0); background: rgb(255, 255, 255); tab-size: 4; z-index: 0;"></textarea>
|
1
|
conda install numpy scipy pandas
|
你也可以指定安裝的版本逛拱,比如安裝 1.1 版本的 numpy :
<textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" style="border: none; outline: none; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; font-size: 13px !important; line-height: 15px !important; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; display: block; -webkit-appearance: none; padding: 0px 5px; width: 608px; height: 42.9px; resize: none; overflow: auto; margin: 0px; position: absolute; opacity: 0; box-sizing: border-box; border-radius: 0px; box-shadow: none; white-space: pre; overflow-wrap: normal; color: rgb(0, 0, 0); background: rgb(255, 255, 255); tab-size: 4; z-index: 0;"></textarea>
|
1
|
conda install numpy=1.10
|
移除一個 package:
<textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" style="border: none; outline: none; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; font-size: 13px !important; line-height: 15px !important; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; display: block; -webkit-appearance: none; padding: 0px 5px; width: 608px; height: 42.9px; resize: none; overflow: auto; margin: 0px; position: absolute; opacity: 0; box-sizing: border-box; border-radius: 0px; box-shadow: none; white-space: pre; overflow-wrap: normal; color: rgb(0, 0, 0); background: rgb(255, 255, 255); tab-size: 4; z-index: 0;"></textarea>
|
1
|
conda remove package_name
|
升級 package 版本:
<textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" style="border: none; outline: none; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; font-size: 13px !important; line-height: 15px !important; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; display: block; -webkit-appearance: none; padding: 0px 5px; width: 608px; height: 42.9px; resize: none; overflow: auto; margin: 0px; position: absolute; opacity: 0; box-sizing: border-box; border-radius: 0px; box-shadow: none; white-space: pre; overflow-wrap: normal; color: rgb(0, 0, 0); background: rgb(255, 255, 255); tab-size: 4; z-index: 0;"></textarea>
|
1
|
conda update package_name
|
查看所有的 packages:
<textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" style="border: none; outline: none; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; font-size: 13px !important; line-height: 15px !important; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; display: block; -webkit-appearance: none; padding: 0px 5px; width: 608px; height: 42.9px; resize: none; overflow: auto; margin: 0px; position: absolute; opacity: 0; box-sizing: border-box; border-radius: 0px; box-shadow: none; white-space: pre; overflow-wrap: normal; color: rgb(0, 0, 0); background: rgb(255, 255, 255); tab-size: 4; z-index: 0;"></textarea>
|
1
|
conda list
|
如果你記不清 package 的具體名稱,也可以進行模糊查詢:
<textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" style="border: none; outline: none; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; font-size: 13px !important; line-height: 15px !important; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; display: block; -webkit-appearance: none; padding: 0px 5px; width: 608px; height: 42.9px; resize: none; overflow: auto; margin: 0px; position: absolute; opacity: 0; box-sizing: border-box; border-radius: 0px; box-shadow: none; white-space: pre; overflow-wrap: normal; color: rgb(0, 0, 0); background: rgb(255, 255, 255); tab-size: 4; z-index: 0;"></textarea>
|
1
|
conda search search_term
|
四台猴、如何管理Python環(huán)境朽合?
默認(rèn)的環(huán)境是 root俱两,你也可以創(chuàng)建一個新環(huán)境:
<textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" style="border: none; outline: none; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; font-size: 13px !important; line-height: 15px !important; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; display: block; -webkit-appearance: none; padding: 0px 5px; width: 608px; height: 42.9px; resize: none; overflow: auto; margin: 0px; position: absolute; opacity: 0; box-sizing: border-box; border-radius: 0px; box-shadow: none; white-space: pre; overflow-wrap: normal; color: rgb(0, 0, 0); background: rgb(255, 255, 255); tab-size: 4; z-index: 0;"></textarea>
|
1
|
conda create -n env_name list of packages
|
其中 -n
代表 name,env_name
是需要創(chuàng)建的環(huán)境名稱旁舰,list of packages
則是列出在新環(huán)境中需要安裝的工具包锋华。
例如,當(dāng)我安裝了 Python3 版本的 Anaconda 后箭窜,默認(rèn)的 root 環(huán)境自然是 Python3毯焕,但是我還需要創(chuàng)建一個 Python 2 的環(huán)境來運行舊版本的 Python 代碼,最好還安裝了 pandas 包磺樱,于是我們運行以下命令來創(chuàng)建:
<textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" style="border: none; outline: none; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; font-size: 13px !important; line-height: 15px !important; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; display: block; -webkit-appearance: none; padding: 0px 5px; width: 608px; height: 42.9px; resize: none; overflow: auto; margin: 0px; position: absolute; opacity: 0; box-sizing: border-box; border-radius: 0px; box-shadow: none; white-space: pre; overflow-wrap: normal; color: rgb(0, 0, 0); background: rgb(255, 255, 255); tab-size: 4; z-index: 0;"></textarea>
|
1
|
conda create -n py2 python=2.7 pandas
|
細心的你一定會發(fā)現(xiàn)纳猫,py2 環(huán)境中不僅安裝了 pandas,還安裝了 numpy 等一系列 packages竹捉,這就是使用 conda 的方便之處芜辕,它會自動為你安裝相應(yīng)的依賴包,而不需要你一個個手動安裝块差。
進入名為 env_name 的環(huán)境:
<textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" style="border: none; outline: none; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; font-size: 13px !important; line-height: 15px !important; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; display: block; -webkit-appearance: none; padding: 0px 5px; width: 608px; height: 42.9px; resize: none; overflow: auto; margin: 0px; position: absolute; opacity: 0; box-sizing: border-box; border-radius: 0px; box-shadow: none; white-space: pre; overflow-wrap: normal; color: rgb(0, 0, 0); background: rgb(255, 255, 255); tab-size: 4; z-index: 0;"></textarea>
|
1
|
source activate env_name
|
退出當(dāng)前環(huán)境:
<textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" style="border: none; outline: none; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; font-size: 13px !important; line-height: 15px !important; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; display: block; -webkit-appearance: none; padding: 0px 5px; width: 608px; height: 42.9px; resize: none; overflow: auto; margin: 0px; position: absolute; opacity: 0; box-sizing: border-box; border-radius: 0px; box-shadow: none; white-space: pre; overflow-wrap: normal; color: rgb(0, 0, 0); background: rgb(255, 255, 255); tab-size: 4; z-index: 0;"></textarea>
|
1
|
source deactivate
|
另外注意侵续,在 Windows 系統(tǒng)中,使用 activate env_name
和 deactivate
來進入和退出某個環(huán)境憨闰。
刪除名為 env_name 的環(huán)境:
<textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" style="border: none; outline: none; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; font-size: 13px !important; line-height: 15px !important; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; display: block; -webkit-appearance: none; padding: 0px 5px; width: 608px; height: 42.9px; resize: none; overflow: auto; margin: 0px; position: absolute; opacity: 0; box-sizing: border-box; border-radius: 0px; box-shadow: none; white-space: pre; overflow-wrap: normal; color: rgb(0, 0, 0); background: rgb(255, 255, 255); tab-size: 4; z-index: 0;"></textarea>
|
1
|
conda env remove -n env_name
|
顯示所有的環(huán)境:
<textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" style="border: none; outline: none; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; font-size: 13px !important; line-height: 15px !important; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; display: block; -webkit-appearance: none; padding: 0px 5px; width: 608px; height: 42.9px; resize: none; overflow: auto; margin: 0px; position: absolute; opacity: 0; box-sizing: border-box; border-radius: 0px; box-shadow: none; white-space: pre; overflow-wrap: normal; color: rgb(0, 0, 0); background: rgb(255, 255, 255); tab-size: 4; z-index: 0;"></textarea>
|
1
|
conda env list
|
當(dāng)分享代碼的時候状蜗,同時也需要將運行環(huán)境分享給大家,執(zhí)行如下命令可以將當(dāng)前環(huán)境下的 package 信息存入名為 environment 的 YAML 文件中鹉动。
<textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" style="border: none; outline: none; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; font-size: 13px !important; line-height: 15px !important; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; display: block; -webkit-appearance: none; padding: 0px 5px; width: 608px; height: 42.9px; resize: none; overflow: auto; margin: 0px; position: absolute; opacity: 0; box-sizing: border-box; border-radius: 0px; box-shadow: none; white-space: pre; overflow-wrap: normal; color: rgb(0, 0, 0); background: rgb(255, 255, 255); tab-size: 4; z-index: 0;"></textarea>
|
1
|
conda env export > environment.yaml
|
同樣轧坎,當(dāng)執(zhí)行他人的代碼時,也需要配置相應(yīng)的環(huán)境泽示。這時你可以用對方分享的 YAML 文件來創(chuàng)建一摸一樣的運行環(huán)境缸血。
<textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" style="border: none; outline: none; font-style: normal; font-variant: normal; font-weight: normal; font-stretch: normal; font-size: 13px !important; line-height: 15px !important; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; display: block; -webkit-appearance: none; padding: 0px 5px; width: 608px; height: 42.9px; resize: none; overflow: auto; margin: 0px; position: absolute; opacity: 0; box-sizing: border-box; border-radius: 0px; box-shadow: none; white-space: pre; overflow-wrap: normal; color: rgb(0, 0, 0); background: rgb(255, 255, 255); tab-size: 4; z-index: 0;"></textarea>
|
1
|
conda env create -f environment.yaml
|