【问题标题】:When combining Conda environment files and Pip, is Conda evironment active when Pip install is run?结合 Conda 环境文件和 Pip 时,在运行 Pip 安装时在 Conda 环境中处于活动状态?
【发布时间】:2019-12-22 11:17:42
【问题描述】:

我同时使用pipconda 为我的项目安装依赖项。我将希望通过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

但我想知道这是否已经在“幕后”发生。

【问题讨论】:

    标签: python pip anaconda conda


    【解决方案1】:

    在 environment.yml 文件本身中,您也可以提及 pip 包。您无需为 pip 包创建单独的 requirements.txt 文件。

    通常一个 environment.yml 文件包含以下字段:

    name:conda 环境名称

    channels:需要安装依赖的通道

    依赖::包列表。你也可以提到 pip 依赖项

    更多详情可以参考以下网址:

    https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#create-env-file-manually

    https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#create-env-from-file

    pip 依赖将安装在 conda 环境中,您无需手动激活环境和安装 pip 依赖。 创建 conda 环境的命令:

    conda env create -f environment.yml
    

    上述命令成功完成后,您可以激活环境并检查已安装的软件包,如下所示:

    conda activate <env_name>
    conda list
    

    【讨论】:

    • 我了解如何在同一环境中组合 condapip 依赖项。我想知道在安装pip 依赖项之前是否激活了conda 环境。
    • 是的。它将被激活并安装 pip 包以及其他依赖项
    猜你喜欢
    • 2020-07-21
    • 2021-12-16
    • 2018-01-31
    • 2022-08-03
    • 1970-01-01
    • 2019-07-09
    • 2019-01-13
    • 1970-01-01
    • 2020-07-07
    相关资源
    最近更新 更多