Поддержка Intellisense для плагинов воздушного потока в VSCode - PullRequest
1 голос
/ 19 марта 2019

Я пытаюсь найти способ заставить VSCode Python intellisense работать с Плагинами воздушного потока .

В соответствии с примером кода путь импорта операторов плагинов может быть следующим:

from airflow.operators import MyPluginOperator

VSCode не может разрешить этот импорт, потому что он будет действителен только во время выполнения через систему подключаемых модулей воздушного потока.

Есть ли способ настроить VSCode для разрешения этого импорта?

1 Ответ

0 голосов
/ 19 марта 2019

Airflow загружает плагины динамически путем поиска в папке airflow/plugins подклассов AirflowPlugin и добавления их в пространство имен airflow во время выполнения.Вот код из airflow/operators/__init__.py:

# Imports operators dynamically while keeping the package API clean,
# abstracting the underlying modules
...
def _integrate_plugins():
    """Integrate plugins to the context"""
    from airflow.plugins_manager import operators_modules
    for operators_module in operators_modules:
        sys.modules[operators_module.__name__] = operators_module
        globals()[operators_module._name] = operators_module

VS Код не может справиться с этим.Даже у «больших» Python IDE, таких как PyCharm , есть проблемы с ним .VS Code не может знать, что часть кода в определенной папке преобразуется в airflow.operator позже."python.autoComplete.extraPaths" тоже не поможет.Вы должны только надеяться, что кто-то напишет где-нибудь расширение VS Code для Airflow:)

...