首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何为多个环境自定义一个Requiments.txt?

如何为多个环境自定义一个Requiments.txt?
EN

Stack Overflow用户
提问于 2018-03-22 05:16:43
回答 1查看 0关注 0票数 0

我有两个分支,开发和生产。它们都有依赖关系,其中有些依赖项是不同的。开发指向在开发中的依赖关系。同样也适用于生产。我需要部署到Heroku,它希望每个分支的依赖关系位于一个名为‘requments.txt’的文件中。

什么是最好的组织方式?

我的想法是:

  • 维护独立的需求文件,每个分支中有一个(必须经过频繁的合并!)
  • 告诉Heroku我想使用哪个需求文件(环境变量?)
  • 编写部署脚本(创建临时分支、修改需求文件、提交、部署、删除临时分支)
EN

回答 1

Stack Overflow用户

发布于 2018-03-22 15:15:12

可以级联您的需求文件,并使用“-r”标志告诉pip将一个文件的内容包含在另一个文件中。可以将需求分解为模块化的文件夹层次结构,如下所示:

`-- django_project_root
|-- requirements
|   |-- common.txt
|   |-- dev.txt
|   `-- prod.txt
`-- requirements.txt

文件的内容如下所示:

公共:

# Contains requirements common to all environments
req1==1.0
req2==1.0
req3==1.0
...

dev.txt:

# Specifies only dev-specific requirements
# But imports the common ones too
-r common.txt
dev_req==1.0
...

prod.txt:

# Same for prod...
-r common.txt
prod_req==1.0
...

在Heroku之外,现在可以设置如下环境:

pip install -r requirements/dev.txt

pip install -r requirements/prod.txt

由于Heroku在项目根上专门查找“requments.txt”,所以它应该只反映prod,如下所示:

所需:

# Mirrors prod
-r requirements/prod.txt
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100004294

复制
相关文章

相似问题

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