Poetry安装piprints出现Python版本依赖冲突,请求协助
解决piprints依赖版本解析失败问题
问题原因
当你执行poetry add piprints时,Poetry默认使用^4.0.1作为版本约束——这个规则允许安装>=4.0.1,<5.0.0范围内的所有piprints版本。但目前PyPI上仅存在piprints 4.0.1,该版本的Python要求是>=3.12,<4.0。
同时,你的测试项目默认Python版本范围是>=3.12(无上限),Poetry会判定:如果未来测试项目升级到Python 4.0及以上版本,现有piprints 4.0.1无法兼容,且不存在符合>4.0.1,<5.0.0范围、同时支持Python 4.0+的piprints版本,因此触发依赖冲突,导致版本解析失败。
解决方案
方案1:调整测试项目的Python版本范围
修改测试项目根目录下的pyproject.toml,将Python约束改为与piprints一致的范围:
[tool.poetry.dependencies] python = ">=3.12,<4.0"
修改完成后,重新执行poetry add piprints即可完成安装。
方案2:调整piprints的Python版本约束(长期推荐)
如果你计划让piprints兼容未来的Python 4.x版本,可修改piprints项目的pyproject.toml中的Python依赖约束:
[tool.poetry.dependencies] python = "^3.12" # 等价于 ">=3.12,<4.0",若确认代码兼容Python 4.x,可改为 ">=3.12,<5.0"
修改后重新打包并发布新版本到PyPI,后续安装时Poetry会识别到piprints的4.x版本支持对应Python范围,不会再出现冲突。
若暂时不打算兼容Python 4.x,也可以保持现有约束,但需明确告知用户需将项目Python版本限制在<4.0范围内。
内容的提问来源于stack exchange,提问作者Emanuele Paolini
相关产品推荐
相关产品推荐

