mirror of https://github.com/pypa/pip
Reduce classes with use_user_site attribute
This commit is contained in:
parent
4f8541972f
commit
de7d42feb9
|
@ -246,7 +246,6 @@ class InstallCommand(RequirementCommand):
|
|||
target_dir=target_temp_dir.path,
|
||||
pycompile=options.compile,
|
||||
require_hashes=options.require_hashes,
|
||||
use_user_site=options.use_user_site,
|
||||
)
|
||||
|
||||
self.populate_requirement_set(
|
||||
|
@ -297,6 +296,7 @@ class InstallCommand(RequirementCommand):
|
|||
root=options.root_path,
|
||||
prefix=options.prefix_path,
|
||||
warn_script_location=options.warn_script_location,
|
||||
use_user_site=options.use_user_site,
|
||||
)
|
||||
|
||||
possible_lib_locations = get_lib_location_guesses(
|
||||
|
|
|
@ -266,7 +266,7 @@ class RequirementPreparer(object):
|
|||
req.archive(self.download_dir)
|
||||
return abstract_dist
|
||||
|
||||
def prepare_editable_requirement(self, req, require_hashes):
|
||||
def prepare_editable_requirement(self, req, require_hashes, use_user_site):
|
||||
"""Prepare an editable requirement
|
||||
"""
|
||||
assert req.editable, "cannot prepare a non-editable req as editable"
|
||||
|
@ -288,7 +288,7 @@ class RequirementPreparer(object):
|
|||
|
||||
if self._download_should_save:
|
||||
req.archive(self.download_dir)
|
||||
req.check_if_exists()
|
||||
req.check_if_exists(use_user_site)
|
||||
|
||||
return abstract_dist
|
||||
|
||||
|
|
|
@ -120,7 +120,6 @@ class InstallRequirement(object):
|
|||
self.install_succeeded = None
|
||||
# UninstallPathSet of uninstalled distribution (for possible rollback)
|
||||
self.uninstalled_pathset = None
|
||||
self.use_user_site = False
|
||||
self.target_dir = None
|
||||
self.options = options if options else {}
|
||||
self.pycompile = pycompile
|
||||
|
@ -639,7 +638,8 @@ class InstallRequirement(object):
|
|||
'Unexpected version control type (in %s): %s'
|
||||
% (self.link, vc_type))
|
||||
|
||||
def uninstall(self, auto_confirm=False, verbose=False):
|
||||
def uninstall(self, auto_confirm=False, verbose=False,
|
||||
use_user_site=False):
|
||||
"""
|
||||
Uninstall the distribution currently satisfying this requirement.
|
||||
|
||||
|
@ -652,7 +652,7 @@ class InstallRequirement(object):
|
|||
linked to global site-packages.
|
||||
|
||||
"""
|
||||
if not self.check_if_exists():
|
||||
if not self.check_if_exists(use_user_site):
|
||||
logger.warning("Skipping %s as it is not installed.", self.name)
|
||||
return
|
||||
dist = self.satisfied_by or self.conflicts_with
|
||||
|
@ -730,7 +730,7 @@ class InstallRequirement(object):
|
|||
return True
|
||||
|
||||
def install(self, install_options, global_options=None, root=None,
|
||||
prefix=None, warn_script_location=True):
|
||||
prefix=None, warn_script_location=True, use_user_site=False):
|
||||
global_options = global_options if global_options is not None else []
|
||||
if self.editable:
|
||||
self.install_editable(
|
||||
|
@ -744,6 +744,7 @@ class InstallRequirement(object):
|
|||
self.move_wheel_files(
|
||||
self.source_dir, root=root, prefix=prefix,
|
||||
warn_script_location=warn_script_location,
|
||||
use_user_site=use_user_site,
|
||||
)
|
||||
self.install_succeeded = True
|
||||
return
|
||||
|
@ -894,7 +895,7 @@ class InstallRequirement(object):
|
|||
|
||||
self.install_succeeded = True
|
||||
|
||||
def check_if_exists(self):
|
||||
def check_if_exists(self, use_user_site):
|
||||
"""Find an installed distribution that satisfies or conflicts
|
||||
with this requirement, and set self.satisfied_by or
|
||||
self.conflicts_with appropriately.
|
||||
|
@ -921,7 +922,7 @@ class InstallRequirement(object):
|
|||
existing_dist = pkg_resources.get_distribution(
|
||||
self.req.name
|
||||
)
|
||||
if self.use_user_site:
|
||||
if use_user_site:
|
||||
if dist_in_usersite(existing_dist):
|
||||
self.conflicts_with = existing_dist
|
||||
elif (running_under_virtualenv() and
|
||||
|
@ -940,10 +941,10 @@ class InstallRequirement(object):
|
|||
return self.link and self.link.is_wheel
|
||||
|
||||
def move_wheel_files(self, wheeldir, root=None, prefix=None,
|
||||
warn_script_location=True):
|
||||
warn_script_location=True, use_user_site=False):
|
||||
move_wheel_files(
|
||||
self.name, self.req, wheeldir,
|
||||
user=self.use_user_site,
|
||||
user=use_user_site,
|
||||
home=self.target_dir,
|
||||
root=root,
|
||||
prefix=prefix,
|
||||
|
|
|
@ -13,7 +13,7 @@ logger = logging.getLogger(__name__)
|
|||
class RequirementSet(object):
|
||||
|
||||
def __init__(self,
|
||||
require_hashes=False, target_dir=None, use_user_site=False,
|
||||
require_hashes=False, target_dir=None,
|
||||
pycompile=True):
|
||||
"""Create a RequirementSet.
|
||||
|
||||
|
@ -29,7 +29,6 @@ class RequirementSet(object):
|
|||
self.unnamed_requirements = []
|
||||
self.successfully_downloaded = []
|
||||
self.reqs_to_cleanup = []
|
||||
self.use_user_site = use_user_site
|
||||
self.target_dir = target_dir # set from --target option
|
||||
self.pycompile = pycompile
|
||||
# Maps from install_req -> dependencies_of_install_req
|
||||
|
@ -81,7 +80,6 @@ class RequirementSet(object):
|
|||
wheel.filename
|
||||
)
|
||||
|
||||
install_req.use_user_site = self.use_user_site
|
||||
install_req.target_dir = self.target_dir
|
||||
install_req.pycompile = self.pycompile
|
||||
install_req.is_direct = (parent_req_name is None)
|
||||
|
|
|
@ -146,7 +146,7 @@ class Resolver(object):
|
|||
if self.ignore_installed:
|
||||
return None
|
||||
|
||||
req_to_install.check_if_exists()
|
||||
req_to_install.check_if_exists(self.use_user_site)
|
||||
if not req_to_install.satisfied_by:
|
||||
return None
|
||||
|
||||
|
@ -187,7 +187,7 @@ class Resolver(object):
|
|||
|
||||
if req.editable:
|
||||
return self.preparer.prepare_editable_requirement(
|
||||
req, self.require_hashes
|
||||
req, self.require_hashes, self.use_user_site,
|
||||
)
|
||||
|
||||
# satisfied_by is only evaluated by calling _check_skip_installed,
|
||||
|
@ -215,7 +215,7 @@ class Resolver(object):
|
|||
# pkgs repeat check_if_exists to uninstall-on-upgrade
|
||||
# (#14)
|
||||
if not self.ignore_installed:
|
||||
req.check_if_exists()
|
||||
req.check_if_exists(self.use_user_site)
|
||||
|
||||
if req.satisfied_by:
|
||||
should_modify = (
|
||||
|
|
Loading…
Reference in New Issue