【问题标题】:install packages in virtual environment with pipenv from an environment.yml file从 environment.yml 文件中使用 pipenv 在虚拟环境中安装包
【发布时间】:2019-10-15 08:28:42
【问题描述】:

我开始使用 pipenv,但是,我想重现使用 conda 的其他人的项目。我手头有相应的 environment.yml 文件,并且想使用 pipenv install 将所需的包加载到虚拟环境中。当然我可以一个一个地手动完成,但我想知道是否有更复杂的方法将 environment.yml 文件转换为 pipfile 或 requirements.txt 文件,pipenv install 也可以从中加载以自动化方式打包。 谢谢, 奥尔莫

【问题讨论】:

    标签: python conda pipenv virtual-environment pipfile


    【解决方案1】:

    我解决此问题的方法是将 conda 包管理器生成的“environment.yml”重命名为“requirements.txt”并将“=”替换为“==”以符合不同的pipenv 中的语法。此外,“environment.yml”文件指定了项目使用的 python 版本。此行必须删除,因为python版本是由命令pipenv --python x.x定义的

    然后我执行pipenv -r install requirements.txt

    通过这样做,我避免了将所有必需的包从 environment.yml 文件复制粘贴到 shell 中。

    【讨论】:

      【解决方案2】:

      创建一个名为 requirements.txt 的文件,其中将包含您要安装的包的所有名称,这样每个包的名称都在一行中。

      然后从本地系统中 requirements.txt 文件的位置运行以下命令:

      第 1 步:使用命令 conda activate environmentname(适用于 Windows)或 source activate environmentname(适用于 Linux/MacOS)切换到您的环境。切换后,它将在命令前的括号内显示您的环境名称。

      第 2 步:
      切换到环境中的本地目录(包含 requirements.txt)并运行以下命令:

      pip install -r requirements.txt

      这也将有助于: https://pipenv.readthedocs.io/en/latest/advanced/

      【讨论】:

      • 这会不会将软件包安装到我的系统 python 中?据我了解 pipenv install 的优点是该命令会将软件包安装到由“pipenv shell”创建的虚拟环境中
      • 为了您的帮助,我已经编辑了我的答案。也许现在有帮助。
      • 也许有一点误会。我不使用 conda,我想避免安装它。但是我可以使用“pip install - r requirements.txt”吗?通过“pipenv shell”创建的激活虚拟环境中的命令?
      • pipenv install [包名]。写下你要安装的包的所有名称。
      【解决方案3】:

      environment.yml 是包管理器conda 生成的文件。而pipenv 基于包管理器pip

      AFAIK,这是不可能的。 pipconda 是不同的工具,并且

      • 它们在生成的环境文件中使用不同的格式。
      • 它们支持的包格式不同
      • 包分发的云主机也不同。

      【讨论】:

        猜你喜欢
        • 2021-06-03
        • 2021-07-14
        • 2019-10-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-02
        • 2021-10-21
        相关资源
        最近更新 更多