From df4caf41d0c335dce5a28aa2a2be79ad1b54c71f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Sun, 7 Jul 2019 21:04:30 +0200 Subject: [PATCH] Install requirements for integrations in packages before importing them. (#25005) * Process requirements for integrations in packages before loading * trigger buld --- homeassistant/config.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/homeassistant/config.py b/homeassistant/config.py index c195e3264ad..d07c0c66b18 100644 --- a/homeassistant/config.py +++ b/homeassistant/config.py @@ -30,6 +30,7 @@ from homeassistant.exceptions import HomeAssistantError from homeassistant.loader import ( Integration, async_get_integration, IntegrationNotFound ) +from homeassistant.requirements import async_process_requirements from homeassistant.util.yaml import load_yaml, SECRET_YAML from homeassistant.util.package import is_docker_env import homeassistant.helpers.config_validation as cv @@ -593,6 +594,13 @@ async def merge_packages_config(hass: HomeAssistant, config: Dict, _log_pkg_error(pack_name, comp_name, config, "does not exist") continue + if (not hass.config.skip_pip and integration.requirements and + not await async_process_requirements( + hass, integration.domain, integration.requirements)): + _log_pkg_error(pack_name, comp_name, config, + "unable to install all requirements") + continue + try: component = integration.get_component() except ImportError: