我开始使用 pipenv,但是,我想重现与 conda 合作的其他人的项目。我手头有相应的 environment.yml 文件,想使用 pipenv install 将所需的包加载到虚拟环境中。当然我可以一个一个地手动完成,但我想知道是否有更复杂的方法将 environment.yml 文件转换为 pipfile 或 requirements.txt 文件,pipenv install 也可以从中加载以自动化方式打包。谢谢,奥尔莫
3 回答
我解决此问题的方法是将 conda 包管理器生成的“environment.yml”重命名为“requirements.txt”,并将“=”替换为“==”以符合 pipenv 中的不同语法. 此外,“environment.yml”文件指定了项目使用的 python 版本。此行必须删除,因为python版本是由命令定义的pipenv --python x.x
然后我执行pipenv -r install requirements.txt
通过这样做,我避免了将所有必需的包从 environment.yml 文件复制粘贴到 shell 中。
创建一个名为 requirements.txt 的文件,其中将包含您要安装的包的所有名称,这样每个包的名称都在一行上。
然后从本地系统中 requirements.txt 文件的位置运行以下命令:
第 1 步:使用命令conda activate environmentname(适用于 windows)或source activate environmentname(适用于 Linux/MacOS)切换到您的环境。切换后,它将在命令前的括号内显示您的环境名称。
第 2 步:
切换到位于环境中的本地目录(包含 requirements.txt)并运行以下命令:
pip install -r requirements.txt
environment.yml
是包管理器生成的文件conda
。同时,pipenv
基于包管理器pip
。
AFAIK,这是不可能的。pip
并且conda
是不同的工具,并且
- 他们在生成的环境文件中使用不同的格式。
- 它们支持的包格式不同
- 包分发的云主机也不同。