首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不同环境下的Python配置

不同环境下的Python配置
EN

Stack Overflow用户
提问于 2022-05-12 05:38:49
回答 1查看 554关注 0票数 0

背景

我目前有一个脚本,它可以进行一些API数据收集。脚本部署到两个环境,即testuser。每个环境都有不同的设置,我已经创建了相应的配置文件。我目前正在迁移我的项目以使用hydra-core包。

目标

如果可能的话,我想配置九头蛇为这样。从testuser加载所有配置文件。默认的应该是test环境,除非通过CLI指定加载user环境。

电流结构

代码语言:javascript
复制
Project Root
|
├── config
│   ├── config.yaml
│   ├── test
│   │   ├── config1.yaml
│   │   ├── config2.yaml
│   │   ├── config3.yaml
│   │   └── config4.yaml
│   └── user
│       ├── config1.yaml
│       ├── config2.yaml
│       ├── config3.yaml
│       └── config4.yaml

当前默认配置- config.yaml

代码语言:javascript
复制
defaults:
  - test: [config1.yaml, config2.yaml, config3.yaml, config4.yaml]

如何通过CLI覆盖上述默认设置?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-12 08:30:52

您可以引入一个配置组,例如env,它包含要为每个环境使用的默认列表。

代码语言:javascript
复制
├── config
│   ├── config.yaml
│   ├── env
│   │   ├── user.yaml
│   │   └── test.yaml
│   ├── test
│   │   └── user.yaml
│   └── user
│       └── config1.yaml

env/user.yaml:

代码语言:javascript
复制
defaults:
 - /user/config1
 - /user/config2

环境/测试.:

代码语言:javascript
复制
defaults:
 - /test/config1
 - /test/config2

主config.yaml:

代码语言:javascript
复制
defaults:
 - env: test # Overridable

有了以上所述,您应该能够覆盖环境,例如:

代码语言:javascript
复制
$ python foo.py env=user

这与配置实验模式类似。这是依赖递归默认列表,新的九头蛇1.1。您可以了解更多关于它们的这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72210571

复制
相关文章

相似问题

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