[英]How can I add a dependency in poetry using ~ tilde instead of ^ caret?
[英]How can I add implicit dependencies to a dependency in Python Poetry?
我的項目依賴於我不維護的 package:PackageA。 PackageA 依賴於 PackageB 但未在其 setup.py 文件中明確指定 PackageB 作為依賴項。
理想情況下,PackageA 維護者會明確地將 PackageB 添加為依賴項,但我無法控制它。
我可以簡單地poetry add PackageB
到我的項目中,但是當我真的只想依賴 PackageA 時,我會依賴 PackageB。
我試圖手動修改 poetry.lock 文件中 PackageA 的[package.dependencies]
以添加PackageB = *
但 Poetry 開始抱怨。 這似乎也有點像 hack,因為依賴關系仍然沒有在 pyproject 文件中的任何地方建模。
有沒有一種方法可以告訴 Poetry 我想依賴 PackageA 但 PackageA 也依賴於 PackageB?
對我來說這似乎是一些額外的工作,但我想你可以做
[tool.poetry.group.packageA]
optional = true
[tool.poetry.group.packageA.dependencies]
packageA = "^1.3.4"
packageB = "^1.2.3"
然后用poetry install --with packageA
或者刪除我像假人一樣留下的optional=true
標志,它會像你期望的那樣工作:PI 認為(感謝@Nathan)
或者你可以將它添加到extras
部分
[tool.poetry.extras]
packageA = ["packageA","packageB"]
並使用poetry install -E packageA
但如果是我,我會把它添加到我的主要依賴項中
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.