[英]When combining Conda environment files and Pip, is Conda evironment active when Pip install is run?
我同時使用pip
和conda
為我的項目安裝依賴項。 我將我希望通過conda
安裝的依賴項保留在environment.yml
文件中,並將我通過pip
安裝的依賴項保留在requirements.txt
文件(我從environment.yml
文件中引用)中。 這是帶有實際配置文件的repo以供參考。
從安裝日志看來, conda
首先運行命令
$ conda env create --prefix ./env --file environment.yml
並將pip install
命令作為子進程運行。 但是我從日志中不明白在運行pip
命令之前是否已經臨時激活了環境。
我可以通過運行以下命令明確強制所需的行為(在刪除environment.yml
文件中的requirements.txt
文件之后)
$ conda env create --prefix ./env --file environment.yml
$ conda activate ./env
$ pip install -r requirements.txt
但我想知道這是否是“幕后”已經發生的事情。
在 environment.yml 文件本身中,您也可以提及 pip 包。您不需要為 pip 包創建單獨的 requirements.txt 文件。
通常一個 environment.yml 文件包含以下字段:
name : conda 環境名稱
channel :需要安裝依賴項的通道
依賴項:: : 包列表。 您也可以提及 pip 依賴項
有關更多詳細信息,您可以參考以下網址:
pip 依賴會安裝在 conda 環境中,不需要手動激活環境和安裝 pip 依賴。 創建 conda 環境的命令:
conda env create -f environment.yml
上述命令成功完成后,您可以激活環境並檢查已安裝的軟件包,如下所示:
conda activate <env_name>
conda list
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.