如何在pyproject.toml中列出Poetry插件?能否将插件添加至开发依赖?
问题解答
不能直接把Poetry插件加到项目的--dev依赖里,原因很明确:
poetry self add是给Poetry自身的运行环境安装插件,而项目的--dev依赖是安装在项目专属的虚拟环境里,这两个环境完全独立。把插件加到--dev依赖后,其他开发者运行poetry install只会把插件装到项目虚拟环境,无法让它成为Poetry的可用插件。
正确的做法是利用Poetry的项目级插件功能,让插件和项目绑定,其他开发者拉取项目后可自动安装:
- 先把插件作为开发依赖加入项目:
poetry add xxx --dev - 在项目的
pyproject.toml里添加插件配置段,格式根据插件类型调整(多数为Poetry应用插件):
(替换成插件实际的模块路径和类名,通常插件文档会给出这段配置)[tool.poetry.plugins."poetry.application.plugin"] "xxx.plugin" = "xxx.plugin_module:PluginClassName"
这样其他开发者克隆项目后,只要运行poetry install,Poetry就会自动识别项目里的插件配置,把这个插件安装为项目专属的Poetry插件——只在该项目的操作中生效,不会污染全局Poetry环境。
另外,如果你之前已经用poetry self add装过该插件,记得用poetry self remove xxx删掉全局版本,避免和项目级插件冲突。
内容的提问来源于stack exchange,提问作者Roelant
相关产品推荐
相关产品推荐

