-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
uv
is trying to solve for dependencies that are already installed, failing if they are not available from the package repository
#4059
Comments
Thanks. In general we do discover already-installed requirements, so I would expect what you described above to work. It's possible, though, that |
Thanks, @charliermarsh! Please let me know if I should test something or if you need some "actual" MWE (I tried to produce one but failed in my first attempt, so I then ended up posting what I posted above … which is not really minimal.) |
@charliermarsh Also, I can share with you my Dev Container configuration if you want. I'm working on Linux in Docker on an M2 MacBook Pro. |
Ok, it's because |
## Summary As with other `.egg-info` and `.egg-link` distributions, it's easy to support _existing_ `.egg-link` files. Like pip, we refuse to uninstall these, since there's no way to know which files are part of the distribution. Closes #4059. ## Test Plan Verify that `vtk` is included here, which is installed as a `.egg-link` file: ``` > conda create -c conda-forge -n uv-test python h5py vtk pyside6 cftime psutil > cargo run pip freeze --python /opt/homebrew/Caskroom/miniforge/base/envs/uv-test/bin/python aiohttp @ file:///Users/runner/miniforge3/conda-bld/aiohttp_1713964997382/work aiosignal @ file:///home/conda/feedstock_root/build_artifacts/aiosignal_1667935791922/work attrs @ file:///home/conda/feedstock_root/build_artifacts/attrs_1704011227531/work cached-property @ file:///home/conda/feedstock_root/build_artifacts/cached_property_1615209429212/work cftime @ file:///Users/runner/miniforge3/conda-bld/cftime_1715919201099/work frozenlist @ file:///Users/runner/miniforge3/conda-bld/frozenlist_1702645558715/work h5py @ file:///Users/runner/miniforge3/conda-bld/h5py_1715968397721/work idna @ file:///home/conda/feedstock_root/build_artifacts/idna_1713279365350/work loguru @ file:///Users/runner/miniforge3/conda-bld/loguru_1695547410953/work msgpack @ file:///Users/runner/miniforge3/conda-bld/msgpack-python_1715670632250/work multidict @ file:///Users/runner/miniforge3/conda-bld/multidict_1707040780513/work numpy @ file:///Users/runner/miniforge3/conda-bld/numpy_1707225421156/work/dist/numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl pip==24.0 psutil @ file:///Users/runner/miniforge3/conda-bld/psutil_1705722460205/work pyside6==6.7.1 setuptools==70.0.0 shiboken6==6.7.1 vtk==9.2.6 wheel==0.43.0 wslink @ file:///home/conda/feedstock_root/build_artifacts/wslink_1716591560747/work yarl @ file:///Users/runner/miniforge3/conda-bld/yarl_1705508643525/work ```
Wow, thanks for the super swift action, @charliermarsh! I'm looking forward to the next release! |
Hello,
I was trying to switch my package installation workflow to
uv
, but I'm facing an issue because in this particular use case,uv
behaves differently thanpip
.I'm working on MNE-Python on
aarch64
(ARM64 Linux running natively on Apple Silicon), and some of my package dependencies are not available from PyPI for this platform. Hence, I install these dependencies fromconda-forge
before installing the remaining dependencies viapip
:pip
figures that some dependencies (in this case, I limited the output to the one related tovtk
) are already installed, so it skips them. The installation completes successfully, yielding an environment with packages that are not available from PyPI, but were installed fromconda-forge
instead.Now, let's try to reproduce the same via
uv
:As you can see, it fails, as
uv
correctly determines thatvtk
is not available from PyPI for my platform.Unlike
pip
, however, it wasn't happy with the fact that the package is actually already installed, hence there's no need to pull it from PyPI.Now while I know that it's commonly not recommended to mix
pip
- andconda
-installed packages in the same environment, this approach has worked quite well for me in the past in this specific situation. It would be great if we could find a solution to this issue withuv
.The text was updated successfully, but these errors were encountered: