-
-
Notifications
You must be signed in to change notification settings - Fork 28
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 tests failing using requirementslib when offline #152
Comments
It also seems strange that the same requirement with |
@jayvdb pipenv doesn't currently actually have the released version of requirementslib vendored on master, it has a dev release of it. I would suggest trying the master branch (not saying it would work but I'm not sure) |
My goal is to delay the network call as long as possible so we should be able to hold off on the network call until we need to do dependency resolution, which is slow and should be delayed as long as possible |
Been there .. done that .. makes no difference. The problems arose after v1.3.3 , and havent been fixed since. The changes here were good changes, which improved the resolution, but I suspect they were over-eager in resorting to using the internet, and need to be slightly restructured so they dont use the internet when not necessary, and the caller needs to be more explicit about how much information it needs, so that internet hits can be skipped (which may be very expensive) when the caller doesnt need the extra info (and may still not find the missing extra info in the online resource). |
In a very freaky accident, I chanced upon some very similar errors in pipenv CI. I removed unused vendored library Errors shown at https://dev.azure.com/pypa/pipenv/_build/results?buildId=6410 . The logs are different from the ones I was encountering without internet, but it seems to be a very closely related problem to what I was seeing. The same occurs when removing I cant imagine how |
And I havent been able to reproduce it locally when removing |
And I rebased pypa/pipenv#3670 and suddenly these errors appear again. |
At pypa/pipenv#3679 @frostming noted that the pipenv tests are also breaking. |
hrm I haven't merged this code in recently but I did notice that it is once again making network calls which is why I am sitting on the current cleanup PR |
Could it be the new |
It’s possible but requirementslib doesn’t actually use setuptools in any way that would be affected. I think this is actually my fault and I am making something less lazy somewhere when I instantiate it |
The test runner current checks if you have internet available, and adjusts which tests cases run accordingly. Except for these failing:
but I think we can track that with: #145 |
The following five pipenv v2018.11.26 tests pass when offline using requirementslib v1.3.3, but try to use the internet in requirementslib v1.4.2
tests/unit/test_utils.py::test_convert_deps_to_pip[deps7-git+git://github.com/pinax/[email protected]#egg=pinax]
tests/unit/test_utils.py::test_convert_deps_to_pip[deps8-hg+http://hg.myproject.org/MyProject@da39a3ee5e6b#egg=MyProject]
tests/unit/test_utils.py::test_convert_deps_to_pip[deps10-https://github.com/Rapptz/discord.py/archive/rewrite.zip#egg=discord.py[voice]]
tests/unit/test_utils.py::test_convert_deps_to_pip[deps11-git+https://github.com/requests/requests.git@master#egg=requests[security]]
tests/unit/test_utils.py::test_convert_deps_to_pip_one_way[deps3-git+https://github.com/requests/requests.git@master#egg=requests[security]]
It wouldnt surprise me if it was necessary to fetch from the repos in order to resolve those URLs accurately, at least some of them, but I am hoping the folks here can confirm that this internet access is now absolutely necessary for all of them. It wasnt necessary in pipenv v2018.11.26 which vendored requirementslib v1.3.3.
This underscores the need for #145 , so that changes to the 'online-ness' of any function is clearly understood before merging, as such changes can have significant effects on users of the library if they were not expecting requirementslib to use the network for what was previously an offline invocation.
The text was updated successfully, but these errors were encountered: