diff --git a/homeassistant/package_constraints.txt b/homeassistant/package_constraints.txt index c2875362a50..9651be441a1 100644 --- a/homeassistant/package_constraints.txt +++ b/homeassistant/package_constraints.txt @@ -13,7 +13,7 @@ defusedxml==0.6.0 distro==1.5.0 hass-nabucasa==0.34.6 home-assistant-frontend==20200613.0 -importlib-metadata==1.6.0 +importlib-metadata==1.6.0;python_version<'3.8' jinja2>=2.11.1 netdisco==2.7.0 pip>=8.0.3 diff --git a/homeassistant/util/package.py b/homeassistant/util/package.py index 9a5ae82d4a2..a665fd78914 100644 --- a/homeassistant/util/package.py +++ b/homeassistant/util/package.py @@ -8,9 +8,19 @@ import sys from typing import Optional from urllib.parse import urlparse -from importlib_metadata import PackageNotFoundError, version import pkg_resources +if sys.version_info[:2] >= (3, 8): + from importlib.metadata import ( # pylint: disable=no-name-in-module,import-error + PackageNotFoundError, + version, + ) +else: + from importlib_metadata import ( # pylint: disable=import-error + PackageNotFoundError, + version, + ) + _LOGGER = logging.getLogger(__name__) diff --git a/requirements_all.txt b/requirements_all.txt index 4e52926dc55..22fa858c9f2 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -6,7 +6,7 @@ attrs==19.3.0 bcrypt==3.1.7 certifi>=2020.4.5.1 ciso8601==2.1.3 -importlib-metadata==1.6.0 +importlib-metadata==1.6.0;python_version<'3.8' jinja2>=2.11.1 PyJWT==1.7.1 cryptography==2.9.2 diff --git a/setup.py b/setup.py index 1473fd1f5f9..38ba14290e8 100755 --- a/setup.py +++ b/setup.py @@ -39,7 +39,7 @@ REQUIRES = [ "bcrypt==3.1.7", "certifi>=2020.4.5.1", "ciso8601==2.1.3", - "importlib-metadata==1.6.0", + "importlib-metadata==1.6.0;python_version<'3.8'", "jinja2>=2.11.1", "PyJWT==1.7.1", # PyJWT has loose dependency. We want the latest one.