開源包管理系統(tǒng)和環(huán)境管理系統(tǒng) Conda

開源包管理系統(tǒng)和環(huán)境管理系統(tǒng) Conda

簡介

在做 Python 開發(fā)時,或許你接觸過 virtualenv,他可以為不同的環(huán)境安裝不同的 Python 環(huán)境支持。如果你還知道 virtualenvwrapper,你會發(fā)現(xiàn)它用起來更加方便,它是對 virtualenv 的封裝,可以很方便的創(chuàng)建和管理多個不同的開發(fā)環(huán)境。關(guān)于 virtualenv 和 virtualenvwrapper 的介紹可以參考以下內(nèi)容:

在 Python 中,還有一個更為強大的環(huán)境管理工具,即 Conda。Conda 不僅可以管理不同的開發(fā)環(huán)境,還可以像 pip 一樣進行包管理。Virtualenv 與 Conda 的功能功能差別不是很大,個人覺得 Virtualenv 在 Web 開發(fā)領(lǐng)域用得多些,Conda 則主要在科學(xué)計算環(huán)境中比較常用。

Conda 是開源的包管理系統(tǒng)和環(huán)境管理系統(tǒng),可以安裝軟件包的多個版本和依賴,而且各環(huán)境可以很方便的切換。Conda 支持 Linux,OS X 和 Windows 系統(tǒng)。Conda 主要為 Python 程序所創(chuàng)建,但是可以打包和分布任意軟件。Conda 有多個版本,包括 Anaconda, Anaconda Server 和 Miniconda。

安裝

Conda 的安裝可以參考官方文檔:http://conda.pydata.org/docs/installation.html,只需下載安裝程序安裝即可。

這里以在 Linux 下安裝 miniconda 為例, 安裝過程中默認(rèn)會在用戶主目錄下創(chuàng)建一個 miniconda 的目錄,同時會在 ~/.bash_profile 中追加配置。如果要卸載 Miniconda,只需要刪除相應(yīng)配置和文件即可:

rm -rf ~/miniconda ~/.condarc ~/.conda ~/.continuum

安裝完成后的 miniconda 目錄是 Conda 的默認(rèn)環(huán)境,該默認(rèn)環(huán)境被命名為 root,要激活默認(rèn)環(huán)境可以執(zhí)行如下命令:

source ~/miniconda/bin/activate root

用戶創(chuàng)建的其他環(huán)境則被存放在 ~/miniconda/envs 中。

使用

1. 創(chuàng)建一個新環(huán)境

使用 conda 創(chuàng)建環(huán)境的方法如下:

conda create --name snowflakes ipython biopython

這將創(chuàng)建一個名為 snowflakes 新環(huán)境并存放在 ~/miniconda/envs/snowflakes 中。--name 參數(shù)用于指定環(huán)境名,也可以簡寫成 -n。命令最后可以接上在創(chuàng)建的同時需要一并安裝的庫和模塊,同時還可以指定庫或模塊的版本。例如創(chuàng)建一個 Python3 環(huán)境:

conda create -n bunnies python=3 astroid babel

也可以通過克隆其他環(huán)境來創(chuàng)建一個新環(huán)境:

conda create --name flowers --clone snowflakes

2. 環(huán)境的激活與退出

要激活一個環(huán)境可以使用如下命令:

source ~/miniconda2/bin/activate bunnies

在有些電腦上可能需要指定全路徑,即:

source ~/miniconda2/bin/activate bunnies

激活成功后在當(dāng)前 shell 提示符前會加上環(huán)境名,像這樣:

(bunnies)konghy$[~] => conda --version
conda 4.0.5

要退出當(dāng)前環(huán)境,可以用如下命令:

source deactivate bunnies

3. 包的安裝及其管理

安裝包用 conda install <pkg name> 命令,同時可以指定包的版本,例如:

conda install python=3.5

如果需要安裝到指定的環(huán)境中,則用如下命令:

conda install --name bunnies python=3.5

當(dāng)然,在安裝 conda 是都會默認(rèn)安裝 pip 工具,所有同樣可以用 pip 來安裝依賴包。

列出當(dāng)前環(huán)境中所有的包:

conda list

列出指定環(huán)境中所有的包:

conda -n bunnies

查找可安裝的軟件包:

conda search python

這樣 Conda 會做模糊匹配,也就是所有帶 “python” 字符的包都會被查找出來,如果只需要查找 python 包,則可用如下命令:

conda search --full-name python

包的更新:

conda update conda python ipython

刪除軟件包:

conda remove --name bunnies ipython

4. 環(huán)境管理

  • 查看環(huán)境信息

查看系統(tǒng)中安裝的所有環(huán)境:

conda info --envs

查看 Conda 環(huán)境系統(tǒng)信息:

conda info --system

查看環(huán)境系統(tǒng)更加詳細(xì)的信息:

conda info --all

  • 刪除環(huán)境:

刪除環(huán)境中指定的包:

conda remove --name flowers ipython biopython

徹底刪除環(huán)境:

conda env remove --name flowers

  • 導(dǎo)出環(huán)境:

conda env export --name bunnies --file build_bunnies.yml

或者

conda list -e > spec-file.txt

  • 從文件創(chuàng)建環(huán)境:

如果是用 conda env export --name 導(dǎo)出的文件,則可用下列命令創(chuàng)建:

conda env create -f build_bunnies.yml

如果是用 conda list -e 導(dǎo)出的文件,則用如下方式創(chuàng)建:

conda create --name <env> --file <deps file>

  • 更新環(huán)境:

conda env update --name bunnies --file=environment.yml

參考資料

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

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

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