天天看點

anaconda 的環境管理

管理環境

如前所述,你可以使用 conda 建立環境以隔離項目。要建立環境,請在終端中使用

conda create -n env_name list of packages

。在這裡,-n env_name 設定環境的名稱(-n 是指名稱),而 list of packages 是要安裝在環境中的包的清單。例如,要建立名為 my_env 的環境并在其中安裝 numpy,請鍵入

*conda create -n my_env numpy*

建立環境時,可以指定要安裝在環境中的 Python 版本。這在你同時使用 Python 2.x 和 Python 3.x 中的代碼時很有用。要建立具有特定 Python 版本的環境,請鍵入類似于 conda create -n py3 python=3 或 conda create -n py2 python=2 的指令。實際上,我在我的個人計算機上建立了這兩個環境。我将它們用作與任何特定項目均無關的通用環境,以處理普通的工作(可輕松使用每個 Python 版本)。這些指令将分别安裝 Python 3 和 Python 2 的最新版本。要安裝特定版本(例如 Python 3.3),請使用 conda create -n py python=3.3。

進入環境

建立了環境後,在 OSX/Linux 上使用 source activate my_env 進入環境。在 Windows 上,請使用

activate my_env

進入環境後,你會在終端提示符中看到環境名稱,它類似于 (my_env) ~ $。環境中隻安裝了幾個預設的包,以及你在建立它時安裝的包。你可以使用 conda list 檢查這一點。在環境中安裝包的指令與前面一樣:conda install package_name。不過,這次你安裝的特定包僅在你進入環境後才可用。要離開環境,請鍵入 source deactivate(在 OSX/Linux 上)。在 Windows 上,請使用 deactivate。

儲存和加載環境

共享環境這項功能确實很有用,它能讓其他人安裝你的代碼中使用的所有包,并確定這些包的版本正确。你可以使用

conda env export > environment.yaml

将包儲存為 YAML。指令的第一部分 conda env export 用于輸出環境中的所有包的名稱(包括 Python 版本)。

導出指令的第二部分 > environment.yaml 将導出的文本寫入到 YAML 檔案 environment.yaml 中。現在可以共享此檔案,而且其他人能夠用于建立和你項目相同的環境。

要通過環境檔案建立環境,請使用

conda env create -f environment.yaml

。這會建立一個新環境,而且它具有同樣的在 environment.yaml 中列出的庫。

列出環境

如果忘記了環境的名稱(我有時會這樣),可以使用

conda env list

列出你建立的所有環境。你會看到環境的清單,而且你目前所在環境的旁邊會有一個星号。預設的環境(即當你不在標明環境中時使用的環境)名為 root。

删除環境

如果你不再使用某些環境,可以使用

conda env remove -n env_name

删除指定的環境(在這裡名為 env_name)。