首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >pip安装environment.yml就好像它是一个requirements.txt

pip安装environment.yml就好像它是一个requirements.txt
EN

Stack Overflow用户
提问于 2022-07-01 04:46:06
回答 3查看 1.6K关注 0票数 5

我有一个environment.yml文件,但不想使用Conda:

代码语言:javascript
运行
复制
name: foo
channels:
  - defaults
dependencies:
  - matplotlib=2.2.2

是否可以让pip将依赖项安装在environment.yml文件中,就好像它是requirements.txt文件一样?

我试过pip install -r environment.yml,但它不适用于pip==22.1.2

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-07-01 04:51:25

不,pip不支持这种格式。它所期望的需求文件格式是文档化的这里。您必须手动或通过自动化此过程的脚本将environment.yml文件转换为requirements.txt格式。但是,请记住,并不是Conda上的所有包都可以在PyPI上使用。

票数 4
EN

Stack Overflow用户

发布于 2022-07-01 05:20:51

我已经实现了布赖恩在他的评论中的建议。

这将将environment.yaml转换为requirements.txt

代码语言:javascript
运行
复制
import yaml

with open("environment.yaml") as file_handle:
    environment_data = yaml.load(file_handle)

with open("requirements.txt", "w") as file_handle:
    for dependency in environment_data["dependencies"]:
        package_name, package_version = dependency.split("=")
        file_handle.write("{} == {}".format(package_name, package_version))

这将直接用pip安装依赖项。

代码语言:javascript
运行
复制
import os
import yaml

with open("environment.yaml") as file_handle:
    environment_data = yaml.load(file_handle)

for dependency in environment_data["dependencies"]:
    package_name, package_version = dependency.split("=")
    os.system("pip install {}=={}".format(package_name, package_version))

注意:为了保持简单,我省略了错误处理和包定义的任何其他变体(例如,大于或等于某个版本的包版本的规范)。

票数 6
EN

Stack Overflow用户

发布于 2022-08-29 11:16:13

基于贝尼实现,我只想调整代码,因为它有很多错误;

代码语言:javascript
运行
复制
import os
import yaml

with open("environment.yaml") as file_handle:
    environment_data = yaml.safe_load(file_handle)

for dependency in environment_data["dependencies"]:
    if isinstance(dependency, dict):
      for lib in dependency['pip']:
        os.system(f"pip install {lib}")
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72824468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档