管理環境
如前所述,你可以使用 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)。