src/eric7/PipInterface/piplicenses.py

branch
eric7
changeset 9850
20c49b517679
parent 9849
99782ca569ed
child 9851
ec12090e9cd9
--- 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]
 

eric ide

mercurial