2.3 KiB
2.3 KiB
Python服务配置说明
配置文件结构
Python服务现在使用与Go服务相同的配置文件结构:
backend/
├── config.dev.yaml # 开发环境配置
├── config.prod.yaml # 生产环境配置
├── config.py # 配置加载模块
├── .env.example # 环境变量示例
└── .env # 环境变量(需手动创建,Git忽略)
环境切换
通过设置 ENV 环境变量来切换环境:
Windows (CMD)
set ENV=dev
python main.py
Windows (PowerShell)
$env:ENV="dev"
python main.py
Linux/Mac
ENV=dev python main.py
或者在 .env 文件中设置:
ENV=dev
配置优先级
- 环境变量 - 最高优先级
- 配置文件 - config.{ENV}.yaml
- 代码默认值 - 最低优先级
配置项说明
开发环境 (config.dev.yaml)
- 数据库: 本地MySQL (localhost:3306)
- 调度器: 启用,每5秒执行一次(测试用)
- 日志级别: DEBUG
生产环境 (config.prod.yaml)
- 数据库: 远程MySQL (8.149.233.36:3306)
- 调度器: 启用,每5分钟执行一次
- 日志级别: INFO
使用示例
1. 开发环境
创建 .env 文件:
ENV=dev
启动服务:
python main.py
2. 生产环境
创建 .env 文件:
ENV=prod
启动服务:
python main.py
3. 覆盖配置
如需临时修改某些配置,可在 .env 中添加:
ENV=dev
DB_HOST=192.168.1.100
SCHEDULER_CRON=0 */10 * * * *
与Go服务的配置对应关系
| Python配置 | Go配置 | 说明 |
|---|---|---|
| config.dev.yaml | config/config.dev.yaml | 开发环境配置 |
| config.prod.yaml | config/config.prod.yaml | 生产环境配置 |
| ENV环境变量 | ENV环境变量 | 环境切换 |
| database.username | database.username | 数据库用户名 |
| database.dbname | database.dbname | 数据库名称 |
注意事项
- 密码安全: 生产环境请修改
config.prod.yaml中的数据库密码 - Git忽略:
.env文件已被Git忽略,不会提交到代码库 - 环境变量: 环境变量会覆盖配置文件中的同名配置
- 调度器频率: 开发环境默认5秒执行一次,生产环境默认5分钟执行一次