From 3c453703671887617a9e0e2198089506ac4cad0a Mon Sep 17 00:00:00 2001 From: whitequark Date: Fri, 13 Nov 2020 04:30:47 +0000 Subject: Use importlib_metadata instead of pkg_resources. --- nmigen_boards/__init__.py | 14 ++++++++++---- setup.py | 1 + 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/nmigen_boards/__init__.py b/nmigen_boards/__init__.py index 3d136b5..6eb2e59 100644 --- a/nmigen_boards/__init__.py +++ b/nmigen_boards/__init__.py @@ -1,5 +1,11 @@ -import pkg_resources try: - __version__ = pkg_resources.get_distribution(__name__).version -except pkg_resources.DistributionNotFound: - pass + try: + from importlib import metadata as importlib_metadata # py3.8+ stdlib + except ImportError: + import importlib_metadata # py3.7- shim + __version__ = importlib_metadata.version(__package__) +except ImportError: + # No importlib_metadata. This shouldn't normally happen, but some people prefer not installing + # packages via pip at all, instead using PYTHONPATH directly or copying the package files into + # `lib/pythonX.Y/site-packages`. Although not a recommended way, we still try to support it. + __version__ = "unknown" # :nocov: diff --git a/setup.py b/setup.py index 00ae4a7..7aa6ef3 100644 --- a/setup.py +++ b/setup.py @@ -22,6 +22,7 @@ setup( setup_requires=["wheel", "setuptools", "setuptools_scm"], install_requires=[ "nmigen>=0.2,<0.4", + "importlib_metadata; python_version<'3.8'", ], packages=find_packages(), project_urls={ -- cgit v1.2.3