From 5892e3ccb52455181cb9c916753d94326d34eb6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Pinard?= Date: Wed, 26 Apr 2023 14:43:38 +0200 Subject: [PATCH] Remove pkg_resources, use importlib metadata instead --- eta/core/utils.py | 12 ++++++++---- setup.py | 10 +++++++--- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/eta/core/utils.py b/eta/core/utils.py index 2783ec34..91a50724 100644 --- a/eta/core/utils.py +++ b/eta/core/utils.py @@ -49,7 +49,11 @@ import numbers import os from packaging.requirements import Requirement -import pkg_resources + +try: + from importlib import metadata +except ImportError: + import importlib_metadata as metadata import py7zr import pytz import random @@ -669,7 +673,7 @@ def ensure_package( ): """Ensures that the given package is installed. - This function uses `pkg_resources.get_distribution` to locate the package + This function uses `importlib.metadata.version` to locate the package by its pip name and does not actually import the module. Therefore, unlike `ensure_import()`, `requirement_str` should refer to the @@ -721,9 +725,9 @@ def _get_package_version(requirement_str): req = Requirement(requirement_str) try: - version = pkg_resources.get_distribution(req.name).version + version = metadata.version(req.name) error = None - except pkg_resources.DistributionNotFound as e: + except importlib.PackageNotFoundError as e: version = None error = e diff --git a/setup.py b/setup.py index de770183..4b8533e9 100644 --- a/setup.py +++ b/setup.py @@ -6,7 +6,11 @@ voxel51.com """ import os -from pkg_resources import DistributionNotFound, get_distribution + +try: + from importlib import metadata +except ImportError: + import importlib_metadata as metadata import re from setuptools import setup, find_packages from wheel.bdist_wheel import bdist_wheel @@ -64,10 +68,10 @@ def choose_requirement(mains, secondary): for main in mains: try: name = re.split(r"[!<>=]", main)[0] - get_distribution(name) + metadata.version(name) chosen = main break - except DistributionNotFound: + except metadata.PackageNotFoundError: pass return str(chosen)