我有两个分支,开发和生产。它们都有依赖关系,其中有些依赖项是不同的。开发指向在开发中的依赖关系。同样也适用于生产。我需要部署到Heroku,它希望每个分支的依赖关系位于一个名为‘requments.txt’的文件中。
什么是最好的组织方式?
我的想法是:
发布于 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
https://stackoverflow.com/questions/-100004294
复制相似问题