83 :param str default: default version to return if unable to find |
83 :param str default: default version to return if unable to find |
84 :returns: version |
84 :returns: version |
85 :rtype: string |
85 :rtype: string |
86 """ |
86 """ |
87 try: |
87 try: |
88 if sys.version_info >= (3, 8): # pragma: >=3.8 cover |
88 import importlib.metadata |
89 import importlib.metadata as importlib_metadata |
89 return importlib.metadata.version(pkg_key) |
90 else: # pragma: <3.8 cover |
|
91 import importlib_metadata |
|
92 return importlib_metadata.version(pkg_key) |
|
93 except ImportError: |
90 except ImportError: |
94 pass |
91 pass |
95 # Avoid AssertionError with setuptools, see https://github.com/tox-dev/pipdeptree/issues/162 |
92 # Avoid AssertionError with setuptools, see https://github.com/tox-dev/pipdeptree/issues/162 |
96 if pkg_key in {"setuptools"}: |
93 if pkg_key in {"setuptools"}: |
97 return default |
94 return default |