-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Pipenv install fails to install sub dependencies from private repos #920
Comments
and
Its still downloading CaaS from https://pypi.python.org/simple/caas/ instead of dependency_links in setup.py of invocations package. Thanks! |
Updated the title to reflect the problem.
|
Oh I see what you're saying, I either misunderstood or we solved one problem but uncovered another. I have an idea about where this might be happening but it will be messy to untangle since I don't have an example repository. Essentially, we aren't currently resolving anything in setup.py since we rely on pip to do that resolution. Out of curiosity, what is the output of |
P.S. Thanks for the update and the thorough report, it makes things much easier |
I have abstracted some additonal packages from Pipfile and setup.py, but here is the complete output of pipenv run pip freeze:
Just a hunch, but might be related to : https://github.com/kennethreitz/pipenv/issues/571 |
Do you have underscores in your repo name? |
No, but it has hyphens. (referring to private repo) |
Last check, hyphens through errors in repo links I think. Marking as a bug for fixing. Thanks for the through report @siddartha1992! And thanks for the ongoing help @techalchemy |
@erinxocon the original issue was related to pep 440 normalization where we were replacing underscores with dashes. That has been an ongoing issue and has come up in a few places, but we don't do any manipulation that I know of with dashes. We have had a number of issues with VCS urls related to pip-tools resolving and may need /cc @vphilippon on this but not sure if this is in his wheelhouse. I've done a bunch of work on that code, just not sure how far to take the design decisions there vs resolving them in piptools |
@siddartha1992 as a point of clarification on this issue, did pipenv fail to install the dependencies or did it fail to resolve the dependencies? The output you provided doesn't make it completely clear but there is a big difference as to the cause of the problem |
known, designed this way |
@siddartha1992 did the removal of hyphens fix your problem here? I don't have any hyphens or underscores and am facing similar difficulties. |
@manihamidi I believe the issue with hyphens and underscores was resolved awhile ago, but this particular issue may be resolved in master— can you give that a try? |
@techalchemy thanks for the prompt reply. See the repos PrivateA and PrivateB on my account page that I used to test this (PrivateA depends on PrivateB):
I totally acknowledge that perhaps this isn't even the right paradigm for doing things and would love some feedback as to what is. At the same time, there seems to also be acknowledgement (evinced by the backlash against the deprecation of dependency_links) that the use-case i'm looking for is not so insane/uncommon: What is the "Human" way of getting automatic installation of sub-dependencies from github repos? Thanks again for reading. Detailed Console Responses:OS: Windows 7 Using pip:
With
it doesn't work (as @siddartha1992 originally posted):
|
@manihamidi I believe you can set the environment variable Also thanks for the super-detailed info, makes it really clear what you're trying to do and why its not working! |
That worked! Thank you so much @techalchemy! 🤝 Should this be added to the documentation somewhere? I'd be happy to do it. More generally speaking, is the approach i'm taking kosher? Or is it "better practice" to create a private index and use some other flags (which?) to point pipenv to, for the private dependencies? I ask this as I realize the specification of "concrete" dependencies in |
@manihamidi it's not really pipenv documentation so it probably doesn't belong in our docs, it's just a pip environment variable. In general anything you can pass to pip on the command line can be set as an environment variable if you uppercase it and replace dashes with underscores. You can setup a private index if you like, then you can specify it in your pipfile |
Describe you environment
Issue
Installing invocations in a virtualenv
python setup.py install
Valdiating CaaS installed correctly.
So far everything works.
Tries to get CaaS from pypi instead of private github repo's inside dependency_links of invocation's setup.py
Is this expected? How can I install CaaS package?
Thanks!
The text was updated successfully, but these errors were encountered: