-
-
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
requirements command improvements, fixes issue 5755. #5757
Conversation
In the test
Definitely no network calls, but this fails to install with:
|
@mgmarino Just pushed a fix for that -- thanks for catching it. |
Ok, two more comments:
needs to be:
.
In
is exported as
instead of:
|
Co-authored-by: Michael Marino <mmarino@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, works for the simple test case in #5755 and our "real" cases. My last suggestion should get the tests working again, I think there was only one failure. I will probably add some additional test cases, but we can do that in another PR. :-)
Co-authored-by: Michael Marino <mmarino@gmail.com>
Actually I should probably fix those tests and not have the space after the semi-colon, since that's technically more correct. We added the space a while back because of some weird side effect with the test framework hypothesis and upgrading pyparsing in requirementslib that was somehow solved by adding the space, but since this command is isolated, we should be more correct and fix the test assumptions. |
Thanks, @matteius! |
….12 (#1490) Add --pull to the new build scripts, and pin pipenv version to 2023.6.12 for the deployment image. Also remove ^ from package-lock that was missed in the previous PR. > We've pinned pipenv because pipenv requirements was behaving differently on the most recent version, and we were matching on the output to remove the requirement from the App Engine deployment: > > in 2023.6.12 the output for the editable osv package was > > -e ./../.. > in 2023.7.23 it was > > ../../ This does not seem to be an intentional change from pipenv, as it's not logged in the patch notes, but from bugs in their new implementation of the requirements: pypa/pipenv#5757, so this might change back in the future versions.
Fixes #5755
The issue
The requirements command should have it all it needs from the lock file, but its re-using a requirementslib method that installs the requirements, which was a regression for the requirements command when we released requirementslib==3.0.0
The fix
Provide our own method and relocate the requirements command logic to the routines module.
The checklist
news/
directory to describe this fix with the extension.bugfix.rst
,.feature.rst
,.behavior.rst
,.doc.rst
..vendor.rst
. or.trivial.rst
(this will appear in the release changelog). Use semantic line breaks and name the file after the issue number or the PR #.