Why does Poetry select incorrect dependencies when pip does not? #7128
-
For the full details of this issue with Open3D 0.16.1 + Mac + Poetry, see: But what confuses me is that this issue does not affect If I create a bare
But if I lock Open3D 0.16.1 using Poetry: [tool.poetry.dependencies]
python = "^3.10, <3.11"
open3d = "0.16.1" I get a much smaller list:
I know Poetry uses a JSON API and I think that
|
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 9 replies
-
Poetry uses the PyPI JSON API when available to get requirements for a package (e.g. https://pypi.org/pypi/open3d/0.16.1/json). This API uses the metadata of the first wheel to be uploaded. In general, Poetry does not (currently) support wheels with disparate requirements, which is not necessary in 99% of Python packaging scenarios due to the richness of PEP 508 markers. I have not figured out which package in the tree is providing inconsistent requirements, but that is probably what is happening, and the best place to start figuring out who is distributing wheels incompatible with Poetry. |
Beta Was this translation helpful? Give feedback.
Poetry uses the PyPI JSON API when available to get requirements for a package (e.g. https://pypi.org/pypi/open3d/0.16.1/json). This API uses the metadata of the first wheel to be uploaded. In general, Poetry does not (currently) support wheels with disparate requirements, which is not necessary in 99% of Python packaging scenarios due to the richness of PEP 508 markers.
I have not figured out which package in the tree is providing inconsistent requirements, but that is probably what is happening, and the best place to start figuring out who is distributing wheels incompatible with Poetry.