From c9606b86e16f3deb9488a153aa3da9badbb023f0 Mon Sep 17 00:00:00 2001 From: Pradyun Gedam Date: Sun, 10 Nov 2019 12:54:17 +0530 Subject: [PATCH 1/2] Add use_user_site to RequirementPreparer --- src/pip/_internal/cli/req_command.py | 2 ++ src/pip/_internal/commands/download.py | 1 + src/pip/_internal/commands/install.py | 1 + src/pip/_internal/commands/wheel.py | 1 + src/pip/_internal/operations/prepare.py | 4 ++++ tests/unit/test_req.py | 1 + 6 files changed, 10 insertions(+) diff --git a/src/pip/_internal/cli/req_command.py b/src/pip/_internal/cli/req_command.py index affa8aed406..5f0752ff40a 100644 --- a/src/pip/_internal/cli/req_command.py +++ b/src/pip/_internal/cli/req_command.py @@ -154,6 +154,7 @@ def make_requirement_preparer( req_tracker, # type: RequirementTracker session, # type: PipSession finder, # type: PackageFinder + use_user_site, # type: bool download_dir=None, # type: str wheel_download_dir=None, # type: str ): @@ -174,6 +175,7 @@ def make_requirement_preparer( session=session, finder=finder, require_hashes=options.require_hashes, + use_user_site=use_user_site, ) @staticmethod diff --git a/src/pip/_internal/commands/download.py b/src/pip/_internal/commands/download.py index 8cffc6a7f5e..3e405119f71 100644 --- a/src/pip/_internal/commands/download.py +++ b/src/pip/_internal/commands/download.py @@ -132,6 +132,7 @@ def run(self, options, args): session=session, finder=finder, download_dir=options.download_dir, + use_user_site=False, ) resolver = self.make_resolver( diff --git a/src/pip/_internal/commands/install.py b/src/pip/_internal/commands/install.py index 67d7204f476..cdddf8487e6 100644 --- a/src/pip/_internal/commands/install.py +++ b/src/pip/_internal/commands/install.py @@ -361,6 +361,7 @@ def run(self, options, args): req_tracker=req_tracker, session=session, finder=finder, + use_user_site=options.use_user_site, ) resolver = self.make_resolver( preparer=preparer, diff --git a/src/pip/_internal/commands/wheel.py b/src/pip/_internal/commands/wheel.py index 5217703d309..59cf6495bc9 100644 --- a/src/pip/_internal/commands/wheel.py +++ b/src/pip/_internal/commands/wheel.py @@ -176,6 +176,7 @@ def run(self, options, args): session=session, finder=finder, wheel_download_dir=options.wheel_dir, + use_user_site=False, ) resolver = self.make_resolver( diff --git a/src/pip/_internal/operations/prepare.py b/src/pip/_internal/operations/prepare.py index 4795c489639..26f383053ee 100644 --- a/src/pip/_internal/operations/prepare.py +++ b/src/pip/_internal/operations/prepare.py @@ -511,6 +511,7 @@ def __init__( session, # type: PipSession finder, # type: PackageFinder require_hashes, # type: bool + use_user_site, # type: bool ): # type: (...) -> None super(RequirementPreparer, self).__init__() @@ -547,6 +548,9 @@ def __init__( # Should hash-checking be required? self.require_hashes = require_hashes + # Should install in user site-packages? + self.use_user_site = use_user_site + @property def _download_should_save(self): # type: () -> bool diff --git a/tests/unit/test_req.py b/tests/unit/test_req.py index b84d38052c6..4c2bd7979fd 100644 --- a/tests/unit/test_req.py +++ b/tests/unit/test_req.py @@ -73,6 +73,7 @@ def _basic_resolver(self, finder, require_hashes=False): session=PipSession(), finder=finder, require_hashes=require_hashes, + use_user_site=False, ) make_install_req = partial( install_req_from_req_string, From 11b3fc22652f27c8fe51c291d5c31522ce34255f Mon Sep 17 00:00:00 2001 From: Pradyun Gedam Date: Sun, 10 Nov 2019 12:55:14 +0530 Subject: [PATCH 2/2] Drop use_user_site argument from prepare_editable_requirement --- src/pip/_internal/legacy_resolve.py | 4 +--- src/pip/_internal/operations/prepare.py | 3 +-- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/pip/_internal/legacy_resolve.py b/src/pip/_internal/legacy_resolve.py index f1d69941339..75d6076a588 100644 --- a/src/pip/_internal/legacy_resolve.py +++ b/src/pip/_internal/legacy_resolve.py @@ -269,9 +269,7 @@ def _get_abstract_dist_for(self, req): representing a prepared variant of the same. """ if req.editable: - return self.preparer.prepare_editable_requirement( - req, self.use_user_site - ) + return self.preparer.prepare_editable_requirement(req) # satisfied_by is only evaluated by calling _check_skip_installed, # so it must be None here. diff --git a/src/pip/_internal/operations/prepare.py b/src/pip/_internal/operations/prepare.py index 26f383053ee..c564d64a7e9 100644 --- a/src/pip/_internal/operations/prepare.py +++ b/src/pip/_internal/operations/prepare.py @@ -686,7 +686,6 @@ def prepare_linked_requirement( def prepare_editable_requirement( self, req, # type: InstallRequirement - use_user_site, # type: bool ): # type: (...) -> AbstractDistribution """Prepare an editable requirement @@ -711,7 +710,7 @@ def prepare_editable_requirement( if self._download_should_save: req.archive(self.download_dir) - req.check_if_exists(use_user_site) + req.check_if_exists(self.use_user_site) return abstract_dist