drop use of pkg_resources

Importing pkg_resources scans all of the installed modules for data
that won't be used. Switch to using importlib.metdata, which more
efficiently loads the metadata for a package.

Change-Id: Idd2a0d0026fef9296172c9995b428ea43a746483
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This commit is contained in:
Doug Hellmann
2020-07-05 19:28:07 -04:00
parent accb8ded49
commit 392922aa33
4 changed files with 19 additions and 6 deletions

View File

@@ -18,6 +18,7 @@ gitdb==0.6.4
GitPython==1.0.1
idna==2.5
imagesize==0.7.1
importlib_metadata==1.7.0
iso8601==0.1.11
Jinja2==2.10
keystoneauth1==3.4.0

View File

@@ -25,15 +25,20 @@ Tool for generating a sample configuration file. See
import collections
import copy
import json
import logging
import operator
import sys
import textwrap
import json
import pkg_resources
import yaml
try:
# For Python 3.8 and later
import importlib.metadata as importlib_metadata
except ImportError:
# For everyone else
import importlib_metadata
import yaml
from oslo_config import cfg
import stevedore.named # noqa
@@ -765,7 +770,7 @@ def generate(conf, output_file=None):
def main(args=None):
"""The main function of oslo-config-generator."""
version = pkg_resources.get_distribution('oslo.config').version
version = importlib_metadata.version('oslo.config')
logging.basicConfig(level=logging.WARN)
conf = cfg.ConfigOpts()
register_cli_opts(conf)

View File

@@ -24,7 +24,13 @@ project then it returns those errors.
import logging
import sys
import pkg_resources
try:
# For Python 3.8 and later
import importlib.metadata as importlib_metadata
except ImportError:
# For everyone else
import importlib_metadata
import yaml
from oslo_config import cfg
@@ -132,7 +138,7 @@ def _validate(conf):
def main():
"""The main function of oslo-config-validator."""
version = pkg_resources.get_distribution('oslo.config').version
version = importlib_metadata.version('oslo.config')
logging.basicConfig(level=logging.INFO)
conf = cfg.ConfigOpts()
_register_cli_opts(conf)

View File

@@ -9,3 +9,4 @@ oslo.i18n>=3.15.3 # Apache-2.0
rfc3986>=1.2.0 # Apache-2.0
PyYAML>=3.12 # MIT
requests>=2.18.0 # Apache-2.0
importlib_metadata>=1.7.0;python_version<'3.8' # Apache-2.0