Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

open3d==0.18.0 has no wheels with a matching Python implementation tag #7553

Open
zhou13 opened this issue Sep 19, 2024 · 6 comments · Fixed by #7556
Open

open3d==0.18.0 has no wheels with a matching Python implementation tag #7553

zhou13 opened this issue Sep 19, 2024 · 6 comments · Fixed by #7556
Assignees
Labels
error messages Messaging when something goes wrong

Comments

@zhou13
Copy link

zhou13 commented Sep 19, 2024

A minimal code snippet that reproduces the bug:

echo open3d > requirements.in
uv pip compile --python-platform linux --python-version 3.10 requirements.in --refresh --no-cache --verbose

Result:

Not sure why uv cannot find it as open3d-0.18.0-cp310-cp310-manylinux_2_27_x86_64.whl is inside https://pypi.org/project/open3d/0.18.0/#files.

The debug message does not provide much insight.

uv pip compile --python-platform linux --python-version 3.10  docker/requirements.in --output-file docker/requirements2.txt --refresh --no-cache --verbose
DEBUG uv 0.4.12
DEBUG Starting Python discovery for Python 3.10
DEBUG Looking for exact match for request Python 3.10
DEBUG Searching for Python 3.10 in managed installations or system path
DEBUG Found `cpython-3.10.14-macos-x86_64-none` at `/Users/yichaozhou/Sources/phicore/.venv/bin/python3` (active virtual environment)
DEBUG Using Python 3.10.14 interpreter at .venv/bin/python3 for builds
DEBUG Using request timeout of 30s
DEBUG Solving with installed Python version: 3.10.14
DEBUG Solving with target Python version: >=3.10.0
DEBUG Adding direct dependency: open3d*
DEBUG No cache entry for: https://pypi.org/simple/open3d/
DEBUG Searching for a compatible version of open3d (*)
DEBUG Searching for a compatible version of open3d (<0.18.0 | >0.18.0)
DEBUG Searching for a compatible version of open3d (<0.17.0 | >0.17.0, <0.18.0 | >0.18.0)
DEBUG Searching for a compatible version of open3d (<0.16.1 | >0.16.1, <0.17.0 | >0.17.0, <0.18.0 | >0.18.0)
DEBUG Searching for a compatible version of open3d (<0.16.0 | >0.16.0, <0.16.1 | >0.16.1, <0.17.0 | >0.17.0, <0.18.0 | >0.18.0)
DEBUG Searching for a compatible version of open3d (<0.15.2 | >0.15.2, <0.16.0 | >0.16.0, <0.16.1 | >0.16.1, <0.17.0 | >0.17.0,<0.18.0 | >0.18.0)
DEBUG Searching for a compatible version of open3d (<0.15.1 | >0.15.1, <0.15.2 | >0.15.2, <0.16.0 | >0.16.0, <0.16.1 | >0.16.1,<0.17.0 | >0.17.0, <0.18.0 | >0.18.0)
DEBUG Searching for a compatible version of open3d (<0.14.1 | >0.14.1, <0.15.1 | >0.15.1, <0.15.2 | >0.15.2, <0.16.0 | >0.16.0,<0.16.1 | >0.16.1, <0.17.0 | >0.17.0, <0.18.0 | >0.18.0)
DEBUG Searching for a compatible version of open3d (<0.13.0 | >0.13.0, <0.14.1 | >0.14.1, <0.15.1 | >0.15.1, <0.15.2 | >0.15.2,<0.16.0 | >0.16.0, <0.16.1 | >0.16.1, <0.17.0 | >0.17.0, <0.18.0 | >0.18.0)
DEBUG Searching for a compatible version of open3d (<0.12.0 | >0.12.0, <0.13.0 | >0.13.0, <0.14.1 | >0.14.1, <0.15.1 | >0.15.1,<0.15.2 | >0.15.2, <0.16.0 | >0.16.0, <0.16.1 | >0.16.1, <0.17.0 | >0.17.0, <0.18.0 | >0.18.0)
DEBUG Searching for a compatible version of open3d (<0.11.2 | >0.11.2, <0.12.0 | >0.12.0, <0.13.0 | >0.13.0, <0.14.1 | >0.14.1,<0.15.1 | >0.15.1, <0.15.2 | >0.15.2, <0.16.0 | >0.16.0, <0.16.1 | >0.16.1, <0.17.0 | >0.17.0, <0.18.0 | >0.18.0)
DEBUG Searching for a compatible version of open3d (<0.11.1 | >0.11.1, <0.11.2 | >0.11.2, <0.12.0 | >0.12.0, <0.13.0 | >0.13.0,<0.14.1 | >0.14.1, <0.15.1 | >0.15.1, <0.15.2 | >0.15.2, <0.16.0 | >0.16.0, <0.16.1 | >0.16.1, <0.17.0 | >0.17.0, <0.18.0 | >0.18.0)
DEBUG Searching for a compatible version of open3d (<0.11.0 | >0.11.0, <0.11.1 | >0.11.1, <0.11.2 | >0.11.2, <0.12.0 | >0.12.0,<0.13.0 | >0.13.0, <0.14.1 | >0.14.1, <0.15.1 | >0.15.1, <0.15.2 | >0.15.2, <0.16.0 | >0.16.0, <0.16.1 | >0.16.1, <0.17.0 | >0.17.0, <0.18.0 | >0.18.0)
DEBUG Searching for a compatible version of open3d (<0.10.0.1 | >0.10.0.1, <0.11.0 | >0.11.0, <0.11.1 | >0.11.1, <0.11.2 | >0.11.2, <0.12.0 | >0.12.0, <0.13.0 | >0.13.0, <0.14.1 | >0.14.1, <0.15.1 | >0.15.1, <0.15.2 | >0.15.2, <0.16.0 | >0.16.0, <0.16.1 |>0.16.1, <0.17.0 | >0.17.0, <0.18.0 | >0.18.0)
DEBUG Searching for a compatible version of open3d (<0.10.0.0 | >0.10.0.0, <0.10.0.1 | >0.10.0.1, <0.11.0 | >0.11.0, <0.11.1 | >0.11.1, <0.11.2 | >0.11.2, <0.12.0 | >0.12.0, <0.13.0 | >0.13.0, <0.14.1 | >0.14.1, <0.15.1 | >0.15.1, <0.15.2 | >0.15.2, <0.16.0 | >0.16.0, <0.16.1 | >0.16.1, <0.17.0 | >0.17.0, <0.18.0 | >0.18.0)
DEBUG Searching for a compatible version of open3d (<0.9.0.0 | >0.9.0.0, <0.10.0.0 | >0.10.0.0, <0.10.0.1 | >0.10.0.1, <0.11.0 | >0.11.0, <0.11.1 | >0.11.1, <0.11.2 | >0.11.2, <0.12.0 | >0.12.0, <0.13.0 | >0.13.0, <0.14.1 | >0.14.1, <0.15.1 | >0.15.1, <0.15.2 | >0.15.2, <0.16.0 | >0.16.0, <0.16.1 | >0.16.1, <0.17.0 | >0.17.0, <0.18.0 | >0.18.0)
DEBUG Searching for a compatible version of open3d (<0.8.0.0 | >0.8.0.0, <0.9.0.0 | >0.9.0.0, <0.10.0.0 | >0.10.0.0, <0.10.0.1 | >0.10.0.1, <0.11.0 | >0.11.0, <0.11.1 | >0.11.1, <0.11.2 | >0.11.2, <0.12.0 | >0.12.0, <0.13.0 | >0.13.0, <0.14.1 | >0.14.1, <0.15.1 | >0.15.1, <0.15.2 | >0.15.2, <0.16.0 | >0.16.0, <0.16.1 | >0.16.1, <0.17.0 | >0.17.0, <0.18.0 | >0.18.0)
DEBUG No compatible version found for: open3d
  × No solution found when resolving dependencies:
  ╰─▶ Because only the following versions of open3d are available:
          open3d==0.8.0.0
          open3d==0.9.0.0
          open3d==0.10.0.0
          open3d==0.10.0.1
          open3d==0.11.0
          open3d==0.11.1
          open3d==0.11.2
          open3d==0.12.0
          open3d==0.13.0
          open3d==0.14.1
          open3d==0.15.1
          open3d==0.15.2
          open3d==0.16.0
          open3d==0.16.1
          open3d==0.17.0
          open3d==0.18.0
      and open3d<=0.9.0.0 has no wheels with a matching Python implementation tag, we can conclude that open3d<0.9.0.0 cannot
      be used.
      And because open3d>=0.10.0.0,<=0.17.0 has no wheels with a matching Python ABI tag, we can conclude that open3d<0.10.0.1
      cannot be used.
      And because open3d==0.18.0 has no wheels with a matching Python implementation tag and you require open3d, we can
      conclude that your requirements are unsatisfiable.

The current uv version (uv --version)

uv 0.4.12 (2545bca69 2024-09-18)
@charliermarsh
Copy link
Member

The Python implementation tag part is surprising.

@charliermarsh
Copy link
Member

I can repro. We'll take a look.

@charliermarsh
Copy link
Member

Oh I see. It's because --python-platfom linux by default uses a Linux version that isn't supported by open3d (which requires manylinux 2_27 or later). You can use --python-platform x86_64-manylinux_2_28 instead to get it working.

I think the error message is wrong though, I need to look at that.

@zhou13
Copy link
Author

zhou13 commented Sep 19, 2024

Thank you for the quick response.

Just out of curiosity, what does linux matches to? Is it referring to https://peps.python.org/pep-0513/#the-manylinux1-policy? Also x86_64-unknown-linux-gnu does not match this package. It is kind of confusing as I thought linux should have the maximum compatibility. Now it seems that x86_64-manylinux_2_31 has the maximum compatibility.

@charliermarsh
Copy link
Member

It's an alias for x86_64-manylinux_2_17. x86_64-manylinux_2_17 is actually higher compatibility than (e.g.) manylinux_2_31. So by default our linux tag is more strict.

charliermarsh added a commit that referenced this issue Sep 19, 2024
## Summary

I think this is just inverted. It means that when we fail in
#7553, we show a message for
"invalid Python implementation" (since there are some wheels that don't
match), but we should be showing "invalid platform", matching the order
of operations in our compatibility check.

Closes #7553.
@zanieb zanieb reopened this Sep 21, 2024
@zanieb
Copy link
Member

zanieb commented Sep 21, 2024

We reverted #7556 in #7608 because it caused a regression in #7606 — we'll revisit this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
error messages Messaging when something goes wrong
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants