1

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

4

3 回答 3

2

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

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

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

于 2019-10-15T11:45:13.353 回答
1

创建一个名为 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/

于 2019-10-15T08:39:34.753 回答
0

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

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

  • 他们在生成的环境文件中使用不同的格式。
  • 它们支持的包格式不同
  • 包分发的云主机也不同。
于 2019-10-15T08:36:15.843 回答