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 cf5ea1c44ff..b6b6b7d27eb 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 59b69bdd5ae..92bfa3f6b10 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 adc0252c358..c4c9f7f5b9f 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/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 4795c489639..c564d64a7e9 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 @@ -682,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 @@ -707,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 diff --git a/tests/unit/test_req.py b/tests/unit/test_req.py index afd276a5950..361e2893e2f 100644 --- a/tests/unit/test_req.py +++ b/tests/unit/test_req.py @@ -83,6 +83,7 @@ def _basic_resolver(self, finder, require_hashes=False): session=PipSession(), finder=finder, require_hashes=require_hashes, + use_user_site=False, ) yield Resolver( preparer=preparer,