Python 如何在IDE中导入自定义操作符和插件而不出错
我不是一个专业的python开发人员,这就是为什么我要概述我的步骤 安装部件 我为apache airflow创建了一个目录~/Desktop/airflow,并制作了 导出气流\u HOME=~/Desktop/AIRFLOW 然后我使用 python3-m venv~/桌面/气流 结果是 然后我做了 源箱/激活 pip3安装apache气流==1.10.9 气流初始数据库 结果是 在我的aiffort.cfg文件中,我检查了DAG和插件目录。我在$AIRFLOW\u HOME/Desktop/AIRFLOW中创建了DAG和插件目录 我启动了airflow Web服务器和调度程序,确保一切正常 自定义插件部件 我找到了很多方法来创建气流插件。我尝试了所有可能的方法。让我们开始吧 第一个是在项目中创建一个插件文件夹(First\u plugin),然后创建一个python文件(First\u operator.py) 看起来像 然后我只需将我的插件文件夹(first_plugin)移动到$AIRFLOW_HOME/DESKTOP/AIRFLOW/plugins,然后重新启动AIRFLOW Web服务器和调度程序 现在是使用自定义操作符创建自定义dag的时候了。如何正确导入插件是一个挑战。有很多方法可以导入自定义运算符。我会展示我的努力Python 如何在IDE中导入自定义操作符和插件而不出错,python,airflow,Python,Airflow,我不是一个专业的python开发人员,这就是为什么我要概述我的步骤 安装部件 我为apache airflow创建了一个目录~/Desktop/airflow,并制作了 导出气流\u HOME=~/Desktop/AIRFLOW 然后我使用 python3-m venv~/桌面/气流 结果是 然后我做了 源箱/激活 pip3安装apache气流==1.10.9 气流初始数据库 结果是 在我的aiffort.cfg文件中,我检查了DAG和插件目录。我在$AIRFLOW\u HOME/Deskt
所有这些都是工作方式,但没有一个解决了我的IDE导入问题。这是对我有效的文件夹结构,请确保自定义操作符位于
操作符
文件夹中,与传感器
和挂钩
相同。init.py文件应为空
plugins
├── __init__.py
├── operators
│ ├── __init__.py
│ ├── glue_crawler_operator.py
│ └── gsheet_to_redshift_operator.py
└── sensors
├── __init__.py
└── glue_crawler_sensor.py
还要检查aiffort.cfg
文件中的plugins\u文件夹是否指向您的plugins文件夹
例如,要将gsheet_导入到_redshift_运算符而不出错,我使用了以下语句:
从operators.gsheet\u到\u redshift\u operator import gsheettors operator
我绕过了插件步骤,用纯python的方式完成了它。这似乎也是最新版本(1.10.12)的文档所说的
这是我的文件夹结构:
AIRFLOW_HOME
├── dags
│ ├── __init__.py
│ └── my_dag.py
└── utils
├── __init__.py
└── custom_operator.py
确保PYTHONPATH
包含aifflow\u HOME
路径。然后你可以像这样导入它:
from custom_operator.hello_operator import HelloOperator
请在此处阅读更多信息:
from custom_operator.hello_operator import HelloOperator