Poetry配置优先级:环境变量是否优先于poetry配置文件生效?
Poetry配置优先级说明
当Poetry的同一配置项同时通过多种方式设置时,环境变量的优先级高于配置文件/poetry config命令设置的内容,最终会以环境变量的值为准。
Poetry配置优先级从高到低排序
- 对应格式的环境变量:所有Poetry配置项都可以通过
POETRY_<配置名大写,点替换为下划线>的格式设置环境变量,优先级最高 - 项目级配置文件:项目根目录下的
poetry.toml文件中的配置,优先级次之 - 全局用户配置文件:存放在用户目录下的Poetry全局配置(不同操作系统路径略有区别,通常为
~/.config/pypoetry/config.toml),优先级最低
示例场景的补充说明
你提到的环境变量VIERTUALENVS_IN_PROJECT存在两处问题,需要修正后才能正常被Poetry识别生效:
- 拼写错误:正确前缀为
VIRTUALENVS而非VIERTUALENVS - 缺少固定前缀:Poetry的配置环境变量需要添加
POETRY_前缀,正确的完整变量名为POETRY_VIRTUALENVS_IN_PROJECT
修正后如果同时设置poetry config virtualenvs.in-project true和POETRY_VIRTUALENVS_IN_PROJECT=false,最终生效的配置值为false。
内容的提问来源于stack exchange,提问作者Hatatister
相关产品推荐
相关产品推荐

