对VSCode中气流插件的智能感知支持

问题描述 投票:1回答:1

我正试图找到一种方法来使VSCode Python intellisense与Airflow Plugins一起工作。

code example之后,插件运算符的导入路径可能是:

from airflow.operators import MyPluginOperator

VSCode无法解析此导入,因为它仅在运行时通过气流插件系统有效。

有没有办法配置VSCode来解决此导入?

visual-studio-code airflow
1个回答
0
投票

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 Code无法处理它。甚至像PyCharm has problems with it这样的“大”Python IDE。 VS Code无法知道特定文件夹中的一段代码将在以后的airflow.operator中进行转换。 “python.autoComplete.extraPaths”也无济于事。你应该只希望有人为Airflow编写一个VS Code扩展名:)

© www.soinside.com 2019 - 2024. All rights reserved.