--- a/src/eric7/PipInterface/piplicenses.py Sun Mar 05 12:26:12 2023 +0100 +++ b/src/eric7/PipInterface/piplicenses.py Sun Mar 05 17:07:49 2023 +0100 @@ -61,39 +61,36 @@ from typing import Iterator, Optional, Sequence -def get_installed_distributions(local_only=True, user_only=False): +def get_installed_distributions(): """ Function to get the installed packages via pip. - Note: importlib_metadata.distributions() does not respect - 'local_only' and 'user_only' keyword parameters. - - @param local_only DESCRIPTION (defaults to True) - @type TYPE (optional) - @param user_only DESCRIPTION (defaults to False) - @type TYPE (optional) - @return DESCRIPTION - @rtype TYPE + @return list of installed distributions + @rtype list """ try: - from pip._internal.metadata import get_environment + from importlib import metadata as importlib_metadata + return importlib_metadata.distributions() except ImportError: - # For backward compatibility with pip version 20.3.4 - from pip._internal.utils import misc - return misc.get_installed_distributions( - local_only=local_only, - user_only=user_only - ) - else: - from pip._internal.utils.compat import stdlib_pkgs - dists = get_environment(None).iter_installed_distributions( - local_only=local_only, - user_only=user_only, - skip=stdlib_pkgs, - include_editables=True, - editables_only=False, - ) - return [d._dist for d in dists] + try: + from pip._internal.metadata import get_environment + except ImportError: + # For backward compatibility with pip version 20.3.4 + from pip._internal.utils import misc + return misc.get_installed_distributions( + local_only=True, + user_only=False + ) + else: + from pip._internal.utils.compat import stdlib_pkgs + dists = get_environment(None).iter_installed_distributions( + local_only=True, + user_only=False, + skip=stdlib_pkgs, + include_editables=True, + editables_only=False, + ) + return [d._dist for d in dists] __pkgname__ = "pip-licenses" @@ -233,10 +230,7 @@ return pkg_info - pkgs = get_installed_distributions( - local_only=args.local_only, - user_only=args.user_only, - ) + pkgs = get_installed_distributions() ignore_pkgs_as_lower = [pkg.lower() for pkg in args.ignore_packages] pkgs_as_lower = [pkg.lower() for pkg in args.packages]