Install requirements for integrations in packages before importing them. #25005
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description:
This change will install the requirements of integrations (if any) before trying to import it.
If the integration import has imports from external packages in the top (not in a function/method) you will get this error on config_check and startup if the configuration for that integration is in a package instead of directly in configuration,yaml:
Related issue (if applicable): fixes #24954 fixes #24720
There is also an issue with Yellight could not find a related issue for it but it was reported in #devs_general
After the move to manifest.json for requirements, more and more integrations will start to get this issue as well.
Checklist:
tox
. Your PR cannot be merged unless tests passTravis and CircleCI passed in my fork.