Use importlib.metadata instead of pkg_resources
...if available. It was added in Python 3.8, and marked no-longer- provisional in Python 3.10. Python 3.12 no longer pre-installs setuptools in virtual environments, which means we can no longer rely on distutils, setuptools, pkg_resources, and easy_install being available. Fortunately, importlib.metadata covers the one use we have of pkg_resources. Change-Id: Iaa68282960a1c73569f916c3b00acf7f839b9807
This commit is contained in:
parent
3fbead8637
commit
7b823c16e2
|
@ -32,9 +32,16 @@ from urllib.parse import urlencode
|
|||
from urllib.parse import urljoin
|
||||
from urllib.parse import urlparse
|
||||
|
||||
import pkg_resources
|
||||
import requests
|
||||
|
||||
try:
|
||||
import importlib.metadata as importlib_metadata
|
||||
pkg_resources = None
|
||||
except ImportError:
|
||||
# Pre-py38
|
||||
importlib_metadata = None
|
||||
import pkg_resources
|
||||
|
||||
|
||||
VERBOSE = False
|
||||
UPDATE = False
|
||||
|
@ -220,9 +227,12 @@ def run_http_exc(klazz, url, **env):
|
|||
|
||||
|
||||
def get_version():
|
||||
requirement = pkg_resources.Requirement.parse('git-review')
|
||||
provider = pkg_resources.get_provider(requirement)
|
||||
return provider.version
|
||||
if importlib_metadata:
|
||||
return importlib_metadata.version('git-review')
|
||||
else:
|
||||
requirement = pkg_resources.Requirement.parse('git-review')
|
||||
provider = pkg_resources.get_provider(requirement)
|
||||
return provider.version
|
||||
|
||||
|
||||
def get_git_version():
|
||||
|
|
Loading…
Reference in New Issue