如何通过Poetry为mylib-c固定mylib-b的1.0.0版本?
在pyproject.toml中为mylib-c固定mylib-b 1.0.0版本的方法
你可以通过两种常见方式实现这个需求,具体取决于你使用的依赖管理工具:
1. 直接在项目依赖中声明固定版本
如果使用标准setuptools或其他兼容PEP 621的工具,只需在pyproject.toml的[project]区块的dependencies里明确指定mylib-b的版本为1.0.0。这样包管理器会优先安装这个版本,覆盖mylib-c原本对最新版本的依赖要求。
示例配置:
[project] name = "你的项目名称" version = "0.1.0" dependencies = [ "mylib-a", "mylib-c", "mylib-b==1.0.0" # 强制所有依赖使用该版本 ]
2. 使用依赖覆盖(Poetry专属)
如果你用Poetry管理依赖,可以用dependency-overrides区块专门强制指定某个依赖的版本,这种方式更清晰,适合明确覆盖子依赖版本的场景。
示例配置:
[tool.poetry] name = "你的项目名称" version = "0.1.0" [tool.poetry.dependencies] python = "^3.8" mylib-a = "*" mylib-c = "*" # 覆盖所有包对mylib-b的依赖版本 [tool.poetry.dependency-overrides] mylib-b = "1.0.0"
两种方式都能确保mylib-c使用1.0.0版本的mylib-b,同时满足mylib-a的依赖要求。
内容的提问来源于stack exchange,提问作者natielle
相关产品推荐
相关产品推荐

