当前位置: 首页 > 知识库问答 >
问题:

如何为多个环境定制一个requirements.txt?

宗啸
2023-03-14

我有两个分支,开发和生产。每个都有依赖关系,其中一些是不同的。开发指向本身在开发中的依赖项。生产也是如此。我需要部署到Heroku,它期望每个分支的依赖项都在一个名为'requirements.txt'的文件中。

我想到的是:

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

共有1个答案

宗政海
2023-03-14

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

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

文件的内容如下所示:

common.txt:

# Contains requirements common to all environments
req1==1.0
req2==1.0
req3==1.0
...
# Specifies only dev-specific requirements
# But imports the common ones too
-r common.txt
dev_req==1.0
...
# Same for prod...
-r common.txt
prod_req==1.0
...
pip install -r requirements/dev.txt
pip install -r requirements/prod.txt

由于Heroku在项目根中专门查找“requirements.txt”,因此它应该只是镜像prod,如下所示:

需求。txt:

# Mirrors prod
-r requirements/prod.txt
 类似资料:
  • 目前,我们使用Apache Ignite.NET瘦客户机缓存不同的数据集。对于每个数据请求,我们使用通过IIgniteClient.createCache ()方法创建的单独缓存。一个缓存包含一组具有相同属性的Enities,在过期后应独立于其他缓存删除。 问题是,在生产中,我们希望有许多应用程序(环境)实例与一个Apache Ignite实例一起工作。每个应用程序实例都应该能够使用与其他应用程序

  • 本文向大家介绍asp.net-core 配置多个环境,包括了asp.net-core 配置多个环境的使用技巧和注意事项,需要的朋友参考一下 示例 本示例说明如何在一个Startup类中使用不同的依赖注入配置和单独的中间件配置多个环境。 除了中和方法可以使用,并有环境相关的配置。public void Configure(IApplicationBuilder app)public void Con

  • Serverless 与微服务在一点上很吸引人,你可以采用不同的语言来运行你的代码,不同的服务之间可以使用不同的语言。除了,在不同的 Serverless 服务里,采用不同的语言来开发。我们也可以在一个 Serverless 服务里,使用不同的语言来开发服务。 Serverless 多个语言运行环境 这次我们要创建的 Serverless 服务,其实现步骤相当的简单: 使用 serverless

  • 我在JavaFX中创建了一个应用程序,其中有很多选择框(大约100个)。单击它们中的每一个会更改一个布尔变量的状态(选中-真,未选中-假)。我对每个选择框都有ActionEvent,但我想制作支持所有它们的操作事件。 其中一个ActionEvent看起来像: 第二个看起来很相似: 我从我的朋友那里听说我应该使用EventHandler创建类并传递参数(复选框和布尔变量),但我不知道怎么做。有什么解

  • 我正在使用aws elastic beanstalk托管我的dhango应用程序。我们需要设置应用程序的开发、阶段和产品环境。但每当我使用eb create命令时,它也会为新环境启动一个新的ec2实例。 可以在单个ec2实例中设置多个弹性beanstalk环境吗。此外,如果我想在其中一个实例中托管WordPress网站,我可以通过ssh登录到您的系统并将网站放在公共web目录中吗?

  • 在研究了这些问题之后: Jest环境的异步设置 导入中未定义的窗口/文档 使用. ts文件(TypeScript)配置Jest全局测试设置 关于app.listen()回调 如何编写Jest配置文件 NodeJS:如何获取服务器的端口? https://alligator.io/nodejs/serving-static-files-in-express/ Promisifyserver.list