The below example is with a uv pip install but my actual usecase is trying to compile a cross-platform requirements.txt file using uv pip compile and a custom python script which runs the same compile three times, once for each platform, then normalizes them into a single file.
Anyway, here is what I am experiencing:
M3 Macbook Pro
Python 3.11
UV 0.2.33
I am running a Linux devcontainer in Docker Desktop. At the command line I get this output when I ask Linux about its platform:
vscode ➜ /workspaces/firefly/vision (feat/tach-detection) $ uv pip install open3d==0.18.0 --python-platform linux
× No solution found when resolving dependencies:
╰─▶ Because open3d==0.18.0 has no wheels with a matching Python ABI tag and you require open3d==0.18.0, we can conclude that the requirements are unsatisfiable.
But if I don't specify the platform the install works ok:
vscode ➜ /workspaces/firefly/vision (feat/tach-detection) $ uv pip install open3d==0.18.0
Resolved 39 packages in 11ms
░░░░░░░░░░░░░░░░░░░░ [0/39] Installing wheels... warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance. If this is intentional, use `--link-mode=copy` to suppress this warning.
hint: If the cache and target directories are on different filesystems, hardlinking may not be supported.
Installed 39 packages in 4.21s
+ attrs==24.2.0
+ blinker==1.8.2
+ certifi==2024.7.4
+ charset-normalizer==3.3.2
+ click==8.1.7
+ configargparse==1.7
+ dash==2.17.1
+ dash-core-components==2.0.0
+ dash-html-components==2.0.0
+ dash-table==5.0.0
+ fastjsonschema==2.20.0
+ flask==3.0.3
+ idna==3.7
+ importlib-metadata==8.2.0
+ itsdangerous==2.2.0
+ jinja2==3.1.4
+ jsonschema==4.23.0
+ jsonschema-specifications==2023.12.1
+ jupyter-core==5.7.2
+ markupsafe==2.1.5
+ nbformat==5.10.4
+ nest-asyncio==1.6.0
+ numpy==2.0.1
+ open3d==0.18.0
+ packaging==24.1
+ platformdirs==4.2.2
+ plotly==5.23.0
+ referencing==0.35.1
+ requests==2.32.3
+ retrying==1.3.4
+ rpds-py==0.20.0
+ setuptools==72.1.0
+ six==1.16.0
+ tenacity==9.0.0
+ traitlets==5.14.3
+ typing-extensions==4.12.2
+ urllib3==2.2.2
+ werkzeug==3.0.3
+ zipp==3.19.2
Maybe I'm missing something, but I would expect the behavior to be the same regardless of the command-line switch since I'm running in a Linux container on Docker.
The below example is with a
uv pip install
but my actual usecase is trying to compile a cross-platform requirements.txt file usinguv pip compile
and a custom python script which runs the same compile three times, once for each platform, then normalizes them into a single file.Anyway, here is what I am experiencing:
M3 Macbook Pro Python 3.11 UV 0.2.33
I am running a Linux devcontainer in Docker Desktop. At the command line I get this output when I ask Linux about its platform:
If I specify the
--python-platform
I get this:But if I don't specify the platform the install works ok:
Maybe I'm missing something, but I would expect the behavior to be the same regardless of the command-line switch since I'm running in a Linux container on Docker.