Skip to content

Commit

Permalink
Remove uninstall mechanism from RequirementSet
Browse files Browse the repository at this point in the history
  • Loading branch information
xavfernandez committed Apr 2, 2017
1 parent 76f823b commit 893f0b0
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 30 deletions.
38 changes: 15 additions & 23 deletions pip/commands/uninstall.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from __future__ import absolute_import

import pip
from pip.wheel import WheelCache
from pip.req import InstallRequirement, RequirementSet, parse_requirements
from pip._vendor.packaging.utils import canonicalize_name

from pip.req import InstallRequirement, parse_requirements
from pip.basecommand import Command
from pip.exceptions import InstallationError

Expand Down Expand Up @@ -44,33 +44,25 @@ def __init__(self, *args, **kw):

def run(self, options, args):
with self._build_session(options) as session:
format_control = pip.index.FormatControl(set(), set())
wheel_cache = WheelCache(options.cache_dir, format_control)
requirement_set = RequirementSet(
build_dir=None,
src_dir=None,
download_dir=None,
isolated=options.isolated_mode,
session=session,
wheel_cache=wheel_cache,
)
reqs_to_uninstall = {}
for name in args:
requirement_set.add_requirement(
InstallRequirement.from_line(
name, isolated=options.isolated_mode,
wheel_cache=wheel_cache
)
req = InstallRequirement.from_line(
name, isolated=options.isolated_mode,
)
if req.name:
reqs_to_uninstall[canonicalize_name(req.name)] = req
for filename in options.requirements:
for req in parse_requirements(
filename,
options=options,
session=session,
wheel_cache=wheel_cache):
requirement_set.add_requirement(req)
if not requirement_set.has_requirements:
session=session):
if req.name:
reqs_to_uninstall[canonicalize_name(req.name)] = req
if not reqs_to_uninstall:
raise InstallationError(
'You must give at least one requirement to %(name)s (see '
'"pip help %(name)s")' % dict(name=self.name)
)
requirement_set.uninstall(auto_confirm=options.yes)
for req in reqs_to_uninstall.values():
req.uninstall(auto_confirm=options.yes)
req.uninstalled_pathset.commit()
7 changes: 0 additions & 7 deletions pip/req/req_set.py
Original file line number Diff line number Diff line change
Expand Up @@ -338,13 +338,6 @@ def get_requirement(self, project_name):
return self.requirements[self.requirement_aliases[name]]
raise KeyError("No project with the name %r" % project_name)

def uninstall(self, auto_confirm=False):
for req in self.requirements.values():
if req.constraint:
continue
req.uninstall(auto_confirm=auto_confirm)
req.uninstalled_pathset.commit()

def prepare_files(self, finder):
"""
Prepare process. Create temp directories, download and/or unpack files.
Expand Down

0 comments on commit 893f0b0

Please sign in to comment.