Skip to content

Commit b0c7c28

Browse files
committed
Remove unused get_installed_distributions
1 parent 0a072a2 commit b0c7c28

File tree

4 files changed

+10
-111
lines changed

4 files changed

+10
-111
lines changed

src/pip/_internal/commands/list.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
from pip._internal.metadata import BaseDistribution, get_environment
1515
from pip._internal.models.selection_prefs import SelectionPreferences
1616
from pip._internal.network.session import PipSession
17-
from pip._internal.utils.misc import stdlib_pkgs, tabulate, write_output
17+
from pip._internal.utils.compat import stdlib_pkgs
18+
from pip._internal.utils.misc import tabulate, write_output
1819
from pip._internal.utils.parallel import map_multithread
1920

2021
if TYPE_CHECKING:

src/pip/_internal/metadata/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
DirectUrlValidationError,
2323
DirInfo,
2424
)
25-
from pip._internal.utils.misc import stdlib_pkgs # TODO: Move definition here.
25+
from pip._internal.utils.compat import stdlib_pkgs
2626
from pip._internal.utils.misc import egg_link_path_from_sys_path
2727
from pip._internal.utils.urls import url_to_path
2828

src/pip/_internal/utils/misc.py

Lines changed: 1 addition & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
Any,
2222
BinaryIO,
2323
Callable,
24-
Container,
2524
ContextManager,
2625
Iterable,
2726
Iterator,
@@ -40,7 +39,7 @@
4039
from pip import __version__
4140
from pip._internal.exceptions import CommandError
4241
from pip._internal.locations import get_major_minor_version, site_packages, user_site
43-
from pip._internal.utils.compat import WINDOWS, stdlib_pkgs
42+
from pip._internal.utils.compat import WINDOWS
4443
from pip._internal.utils.virtualenv import (
4544
running_under_virtualenv,
4645
virtualenv_no_global,
@@ -394,36 +393,6 @@ def egg_link_path_from_sys_path(raw_name: str) -> Optional[str]:
394393
return None
395394

396395

397-
def get_installed_distributions(
398-
local_only=True, # type: bool
399-
skip=stdlib_pkgs, # type: Container[str]
400-
include_editables=True, # type: bool
401-
editables_only=False, # type: bool
402-
user_only=False, # type: bool
403-
paths=None, # type: Optional[List[str]]
404-
):
405-
# type: (...) -> List[Distribution]
406-
"""Return a list of installed Distribution objects.
407-
408-
Left for compatibility until direct pkg_resources uses are refactored out.
409-
"""
410-
from pip._internal.metadata import get_default_environment, get_environment
411-
from pip._internal.metadata.pkg_resources import Distribution as _Dist
412-
413-
if paths is None:
414-
env = get_default_environment()
415-
else:
416-
env = get_environment(paths)
417-
dists = env.iter_installed_distributions(
418-
local_only=local_only,
419-
skip=skip,
420-
include_editables=include_editables,
421-
editables_only=editables_only,
422-
user_only=user_only,
423-
)
424-
return [cast(_Dist, dist)._dist for dist in dists]
425-
426-
427396
def get_distribution(req_name):
428397
# type: (str) -> Optional[Distribution]
429398
"""Given a requirement name, return the installed Distribution object.

tests/unit/test_utils.py

Lines changed: 6 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
egg_link_path,
3131
format_size,
3232
get_distribution,
33-
get_installed_distributions,
3433
get_prog,
3534
hide_url,
3635
hide_value,
@@ -184,12 +183,11 @@ def test_noegglink_in_sitepkgs_venv_global(self):
184183
assert egg_link_path(self.mock_dist) is None
185184

186185

187-
@patch("pip._internal.utils.misc.dist_in_usersite")
188-
@patch("pip._internal.utils.misc.dist_is_local")
189-
@patch("pip._internal.utils.misc.dist_is_editable")
186+
@patch('pip._internal.utils.misc.dist_in_usersite')
187+
@patch('pip._internal.utils.misc.dist_is_local')
190188
class TestsGetDistributions:
191-
"""Test get_installed_distributions() and get_distribution()."""
192-
189+
"""Test get_distribution().
190+
"""
193191
class MockWorkingSet(list):
194192
def require(self, name):
195193
pass
@@ -218,78 +216,12 @@ def require(self, name):
218216
)
219217
)
220218

221-
def dist_is_editable(self, dist):
222-
return dist.test_name == "editable"
223-
224219
def dist_is_local(self, dist):
225220
return dist.test_name != "global" and dist.test_name != "user"
226221

227222
def dist_in_usersite(self, dist):
228223
return dist.test_name == "user"
229224

230-
@patch("pip._vendor.pkg_resources.working_set", workingset)
231-
def test_editables_only(
232-
self, mock_dist_is_editable, mock_dist_is_local, mock_dist_in_usersite
233-
):
234-
mock_dist_is_editable.side_effect = self.dist_is_editable
235-
mock_dist_is_local.side_effect = self.dist_is_local
236-
mock_dist_in_usersite.side_effect = self.dist_in_usersite
237-
dists = get_installed_distributions(editables_only=True)
238-
assert len(dists) == 1, dists
239-
assert dists[0].test_name == "editable"
240-
241-
@patch("pip._vendor.pkg_resources.working_set", workingset)
242-
def test_exclude_editables(
243-
self, mock_dist_is_editable, mock_dist_is_local, mock_dist_in_usersite
244-
):
245-
mock_dist_is_editable.side_effect = self.dist_is_editable
246-
mock_dist_is_local.side_effect = self.dist_is_local
247-
mock_dist_in_usersite.side_effect = self.dist_in_usersite
248-
dists = get_installed_distributions(include_editables=False)
249-
assert len(dists) == 1
250-
assert dists[0].test_name == "normal"
251-
252-
@patch("pip._vendor.pkg_resources.working_set", workingset)
253-
def test_include_globals(
254-
self, mock_dist_is_editable, mock_dist_is_local, mock_dist_in_usersite
255-
):
256-
mock_dist_is_editable.side_effect = self.dist_is_editable
257-
mock_dist_is_local.side_effect = self.dist_is_local
258-
mock_dist_in_usersite.side_effect = self.dist_in_usersite
259-
dists = get_installed_distributions(local_only=False)
260-
assert len(dists) == 4
261-
262-
@patch("pip._vendor.pkg_resources.working_set", workingset)
263-
def test_user_only(
264-
self, mock_dist_is_editable, mock_dist_is_local, mock_dist_in_usersite
265-
):
266-
mock_dist_is_editable.side_effect = self.dist_is_editable
267-
mock_dist_is_local.side_effect = self.dist_is_local
268-
mock_dist_in_usersite.side_effect = self.dist_in_usersite
269-
dists = get_installed_distributions(local_only=False, user_only=True)
270-
assert len(dists) == 1
271-
assert dists[0].test_name == "user"
272-
273-
@patch("pip._vendor.pkg_resources.working_set", workingset_stdlib)
274-
def test_gte_py27_excludes(
275-
self, mock_dist_is_editable, mock_dist_is_local, mock_dist_in_usersite
276-
):
277-
mock_dist_is_editable.side_effect = self.dist_is_editable
278-
mock_dist_is_local.side_effect = self.dist_is_local
279-
mock_dist_in_usersite.side_effect = self.dist_in_usersite
280-
dists = get_installed_distributions()
281-
assert len(dists) == 0
282-
283-
@patch("pip._vendor.pkg_resources.working_set", workingset_freeze)
284-
def test_freeze_excludes(
285-
self, mock_dist_is_editable, mock_dist_is_local, mock_dist_in_usersite
286-
):
287-
mock_dist_is_editable.side_effect = self.dist_is_editable
288-
mock_dist_is_local.side_effect = self.dist_is_local
289-
mock_dist_in_usersite.side_effect = self.dist_in_usersite
290-
dists = get_installed_distributions(skip=("setuptools", "pip", "distribute"))
291-
assert len(dists) == 0
292-
293225
@pytest.mark.parametrize(
294226
"working_set, req_name",
295227
itertools.chain(
@@ -305,14 +237,13 @@ def test_freeze_excludes(
305237
)
306238
def test_get_distribution(
307239
self,
308-
mock_dist_is_editable,
309240
mock_dist_is_local,
310241
mock_dist_in_usersite,
311242
working_set,
312243
req_name,
313244
):
314-
"""Ensure get_distribution() finds all kinds of distributions."""
315-
mock_dist_is_editable.side_effect = self.dist_is_editable
245+
"""Ensure get_distribution() finds all kinds of distributions.
246+
"""
316247
mock_dist_is_local.side_effect = self.dist_is_local
317248
mock_dist_in_usersite.side_effect = self.dist_in_usersite
318249
with patch("pip._vendor.pkg_resources.working_set", working_set):
@@ -323,11 +254,9 @@ def test_get_distribution(
323254
@patch("pip._vendor.pkg_resources.working_set", workingset)
324255
def test_get_distribution_nonexist(
325256
self,
326-
mock_dist_is_editable,
327257
mock_dist_is_local,
328258
mock_dist_in_usersite,
329259
):
330-
mock_dist_is_editable.side_effect = self.dist_is_editable
331260
mock_dist_is_local.side_effect = self.dist_is_local
332261
mock_dist_in_usersite.side_effect = self.dist_in_usersite
333262
dist = get_distribution("non-exist")

0 commit comments

Comments
 (0)