-
Notifications
You must be signed in to change notification settings - Fork 772
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 pip install
does not install git+ssh://
dependency declared in setup.cfg
#1853
Comments
If I'm reading the trace correctly, I believe this is by design and indicated by the error message itself -- we require that all direct URL dependencies are declared as direct, and not transitive dependencies. If you install as an editable install, we'll pick them up as expected. |
Ah, maybe I've misunderstood Adding |
We made this as a safety choice, but perhaps we can reconsider or allow opt-in to the relaxed behavior. Generally you'd put them all in a requirements file then install from there so you don't need to list them all in each invocation. |
I also consider it a correctness issue. Imagine you declare a direct dependency on Flask at 3.0.0, but then some other package deep in the tree declares a direct URL dependency on some other Flask, that also resolves to a version called 3.0.0. What happens? |
My naive expectation would have been that there's some sort of first-past-the-post behavior there, but a quick check against what It seems that if
The project I have been most interested in pointing As a user, I'd say that if |
The current workaround will be using a old version of uv? This version is working
|
Re-reading, I think |
This will have the same fix as #2643. |
Platform: Ubuntu 22.04
uv
version: 0.1.6 (da3a7ec)When checking that #1781 resolves the problem with cloning a private repository (and it does seem to), I encountered a new (to me) problem with resolving a
git
requirement declared insetup.cfg
. Installing the requirement given insetup.cfg
directly in thepip install
invocation does succeed, so it seems likely this is a problem with understanding the project metadata.Reproduction
Run
uv pip install "acmelib @ /path/to/acmelib_repo"
to install a package on the local filesystem that declares agit+ssh://
dependency insetup.cfg
against a private GitHub repository.Sharing below the best reproduction details that I can, with some of the names changed to sanitize the private stuff.
The text was updated successfully, but these errors were encountered: