-
-
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
install should not do full lock resolution, as that is the purpose of pipenv lock #6276
base: main
Are you sure you want to change the base?
Conversation
… goal of not doing full lock resolution, which was intended as we moved to 2024.x release series.
…prevent lock resolution failure. Remove caching properties that can become stale.
… category packages
… test passed locally without this change for some reason)
"colorama", | ||
"atomicwrites", | ||
"six", |
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.
This should be acceptable because its the default non-sorting case; it is technically a behavioral change that re-installing something moves it to the bottom of the Pipfile, but I feel we get closed to reducing some complexity around the Pipfile creation, and writing in this PR -- it doesn't seem to negatively impact performance either.
@@ -143,9 +143,6 @@ def test_install_named_index_alias(pipenv_instance_private_pypi): | |||
@pytest.mark.index | |||
@pytest.mark.install | |||
@pytest.mark.needs_internet | |||
@pytest.mark.skipif( | |||
sys.version_info >= (3, 12), reason="Package does not work with Python 3.12" | |||
) |
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.
This test was failing at one point, and I discovered that it could pass on 3.13 -- I think we had a different bug at one point that lead to this.
@@ -5,7 +5,7 @@ | |||
import sys | |||
import tempfile | |||
import warnings | |||
from functools import cached_property, lru_cache | |||
from functools import lru_cache |
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.
Too many side-effects encountered in various issue reports relate to our current structure and usage of caching. I am in favor of correcting core functionality, and revisiting small gaps in performance down the road in a more thoughtful way.
pipenv/utils/dependencies.py
Outdated
@@ -1132,6 +1132,11 @@ def install_req_from_pipfile(name, pipfile): | |||
version = "" | |||
req_str = f"{name}{extras_str}{version}" | |||
|
|||
# Handle markers before constructing InstallRequirement |
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.
AI suggested this change -- awaiting confirmation it fixes relevant issues.
@@ -164,7 +160,7 @@ def upgrade( | |||
which=project._which, | |||
project=project, | |||
lockfile={}, | |||
category="default", |
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.
This was definitely a bug in the update/upgrade path, it couldn't have worked too great for non-default categories.
@@ -45,13 +45,11 @@ def do_sync( | |||
do_init( | |||
project, | |||
allow_global=system, | |||
requirements_dir=requirements_dir, |
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.
Simplifying interface
…ble vs not file installs.
The issue and fixes
Fixes pipenv install still doing full lock resolution #6267
Fixes Incorrect dependency version installed when specifying a git commit. #5973
Fixes Issue with VCS installs in
2024.1.0
-- resolver trying to resolve vcs as regular dependency #6266Fixes Fedora 40 has dropped pipenv #6167
Probably fixes #6233
Possibly fixes #6231
Possibly fixes #6187
Possibly fixes #6068
Possibly fixes #6280The 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 #.