Anaconda入門:安裝及包與環(huán)境的管理(conda命令)

1.Anaconda是什么?

Anaconda在英文中是“蟒蛇”,麻辣雞(Nicki Minaj妮琪·米娜)有首歌就叫《Anaconda》
anaconda
anaconda

,表示像蟒蛇一樣性感妖嬈的身體。

這里,Anaconda指的是一個(gè)開源的Python發(fā)行版本,其包含了conda、Python等180多個(gè)科學(xué)包及其依賴項(xiàng)。 因?yàn)榘舜罅康目茖W(xué)包,Anaconda 的下載文件比較大(約 500 MB),如果只需要某些包,或者需要節(jié)省帶寬或存儲(chǔ)空間,也可以使用Miniconda這個(gè)較小的發(fā)行版(僅包含conda和 Python)。

Anaconda的圖標(biāo)
loggo
loggo

就像一個(gè)收尾互相咬住的“蟒蛇”。

你可能已經(jīng)安裝了 Python,那么為什么還需要 Anaconda?有以下3個(gè)原因:

  1. Anaconda 附帶了一大批常用數(shù)據(jù)科學(xué)包,它附帶了 conda、Python 和 150 多個(gè)科學(xué)包及其依賴項(xiàng)。因此你可以立即開始處理數(shù)據(jù)。
  2. 管理包。
    Anaconda 是在 conda(一個(gè)包管理器和環(huán)境管理器)上發(fā)展出來的。
    在數(shù)據(jù)分析中,你會(huì)用到很多第三方的包,而conda(包管理器)可以很好的幫助你在計(jì)算機(jī)上安裝和管理這些包,包括安裝、卸載和更新包。
  3. 管理環(huán)境。
    比如你在A項(xiàng)目中用了 Python 2,而另一個(gè)項(xiàng)目B卻要求使用Python 3,而同時(shí)安裝兩個(gè)Python版本可能會(huì)造成許多混亂和錯(cuò)誤。這時(shí)候 conda就可以幫助你為不同的項(xiàng)目建立不同的運(yùn)行環(huán)境。
    還有很多項(xiàng)目使用的包版本不同,比如不同的pandas版本,不可能同時(shí)安裝兩個(gè) Numpy 版本,你要做的應(yīng)該是,為每個(gè) Numpy 版本創(chuàng)建一個(gè)環(huán)境,然后項(xiàng)目的對(duì)應(yīng)環(huán)境中工作。這時(shí)候conda就可以幫你做到。

2.安裝Anaconda

Anaconda 可用于多個(gè)平臺(tái)( Windows、Mac OS X 和 Linux)。你可以在Anaconda官網(wǎng)上找到安裝程序和安裝說明。根據(jù)你的操作系統(tǒng)是32位還是64位選擇對(duì)應(yīng)的版本下載。

實(shí)際上,你選擇對(duì)應(yīng)python2或python3的哪一個(gè)版本是無所謂的,它只代表安裝后缺省的python版本,因?yàn)槟憧梢詣?chuàng)建不同版本的環(huán)境,并可隨時(shí)切換。

安裝過程中,建議不選在將Anaconda目錄加入到PATH環(huán)境變量中,以免與單獨(dú)安裝的Python路徑產(chǎn)生沖突。執(zhí)行conda命令時(shí),可打開Anaconda Prompt,這是Anaconda自帶的終端,啟動(dòng)時(shí)會(huì)設(shè)置必要的環(huán)境變量,令你可運(yùn)行conda命令。若汝用普通的windows cmd命令,則可能會(huì)出現(xiàn)找不到命令的提示。

安裝Anaconda后,需更新所有包,以防因?yàn)槟承┌陌姹颈容^老舊,產(chǎn)生版本依賴關(guān)系錯(cuò)誤。 在終端輸入更新所有包的命令:conda upgrade --all,并在提示是否更新時(shí)輸入y(Yes)讓更新繼續(xù)。

conda命令從conda cloud下載更新包,由于在境外,下載速度比較慢,甚至?xí)捎诒娝苤脑颍瑹o法下載,報(bào)錯(cuò):CondaHTTPError: HTTP 000 CONNECTION FAILED之類的網(wǎng)絡(luò)錯(cuò)誤,可以用下面的方法解決:
在終端中運(yùn)行如下命令:

conda config --add channels mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

添加清華大學(xué)的鏡像服務(wù)器。

如果用命令行添加不上,可以在用戶目錄找到.condarcw文件。這個(gè)配置文件在 ~/.condarc (Linux/Mac) 或 C:\Users\當(dāng)前用戶名.condarc (Windows):

channels:
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
 - defaults
show_channel_urls: true

如果使用conda安裝包的時(shí)候還是很慢,那么可以考慮使用pip來安裝,同樣把 pip 的鏡像源地址也改成國內(nèi)的,豆瓣源速度比較快。修改 ~/.pip/pip.conf (Linux/Mac) 或 C:\Users\當(dāng)前用戶名\pip\pip.ini (Windows) 配置:

[global]
trusted-host =  pypi.douban.com
index-url = http://pypi.douban.com/simple

3.管理包

安裝Anaconda后,就可以用conda命令方便的管理包了。

3.1 安裝包

命令:

conda install package_name

例如:安裝pandas,輸入

condda install pandas

安裝多個(gè)包,如同時(shí)安裝pandas、numpy包:

conda install pandas numpy

指定包的版本號(hào):

conda install numpy=1.10

conda會(huì)自動(dòng)安裝依賴項(xiàng),如scipy包依賴于numpy包,那么

conda install scipy

會(huì)自動(dòng)安裝numpy包,如果還未安裝的話。

3.2 卸載包

命令:conda remove package_name
例如,卸載padas包:
conda remove pandas

3.3 更新包

命令:

conda update package_name

更新所有的包,加--all選項(xiàng):conda update -all

3.4 列出所有的包

命令:conda list

3.5 搜索包

命令:conda search search_term
例如,想檢查一下numpy包是否已經(jīng)安裝,可使用conda search num模糊查找列表中是否包含numpy包。

在conda中,anything is a package。conda本身可以看做是一個(gè)包,python環(huán)境也可以看做是一個(gè)包,anaconda也是一個(gè)包,因此除了普通的第三方包支持更新之外,這三個(gè)包也支持更新。

# 更新conda本身
conda update conda
# 更新anaconda應(yīng)用
conda update anaconda
#更新python,假設(shè)當(dāng)前python環(huán)境版本是3.6.3,而最新版本是3.6.3,那么就會(huì)升級(jí)到3.6.3。
conda update python

4.管理環(huán)境

conda可以為不同的項(xiàng)目創(chuàng)建不同的環(huán)境。

4.1 創(chuàng)建環(huán)境

命令:conda create --name env_name packages_name
--name選項(xiàng)可簡(jiǎn)化為-n,指出要?jiǎng)?chuàng)建的環(huán)境名稱,并可以在創(chuàng)建環(huán)境時(shí)安裝包。
例如:conda create -n py3 pandas創(chuàng)建了名稱為py3的環(huán)境,并安裝pandas包。
創(chuàng)建環(huán)境的時(shí)候,可以指定python的版本:
conda create -n py3 python=3
環(huán)境py3中會(huì)安裝最新版本的python3。
conda create -n py3 python=3.6
指定使用3.6版本的python。

4.2 激活環(huán)境

windows中使用activate env_name命令,OS/X和linux中使用source activate env_name命令激活環(huán)境。
例如:activate py3進(jìn)入py3環(huán)境后可使用conda list命令查看py3
環(huán)境中已經(jīng)安裝的包。在新的環(huán)境中,可使用conda install package_name命令繼續(xù)安裝其他需要的包。

4.3 離開環(huán)境

命令:deactivate (windows適用)或source deactivate(OS/X或Linux適用)。

4.4 共享環(huán)境

如果你想向他人共享你自己創(chuàng)建的環(huán)境,以供其他項(xiàng)目用你項(xiàng)目的配置,主要是保持包的版本一致。就可以使用conda env export > enviroment.yml命令將源環(huán)境的包的配置數(shù)據(jù)保存到enviroment.yml文件中,其他項(xiàng)目就可以在目標(biāo)環(huán)境中,執(zhí)行命令conda env update -f path/to/enviroment.yml將目標(biāo)環(huán)境更新為與源環(huán)境完全一樣。

對(duì)于不使用conda的情況下,python的pip命令也是可以做到這一點(diǎn)的:

pip freeze > enviroment.txt #將環(huán)境配置導(dǎo)出到enviroment.txt文本文件中。
pip install -r /path/to/enviroment.txt #恢復(fù)環(huán)境

4.5 列出環(huán)境

命令:conda env list列出所有的環(huán)境,當(dāng)前激活的環(huán)境對(duì)應(yīng)的目錄前會(huì)顯示一個(gè)*號(hào)。

4.6 刪除環(huán)境

命令:conda env remove -n env_name

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容