Composer Воздушный поток - Нет модуля с именем «exchangengelib» - PullRequest
0 голосов
/ 07 августа 2020

Я столкнулся с очень странной ошибкой при развертывании DAG в среде Composer Airflow.

Я создал пользовательский оператор со следующим импортом:

from exchangelib import DELEGATE, Account, Credentials, Message, FileAttachment, HTMLBody

Пользовательский оператор определен в файле с именем airflow_mail_operator.py, а группа DAG определена в файле с именем test_main.py.

Я получаю ошибку от веб-сервера воздушного потока и указывает ModuleNotFoundError: нет модуля с именем exchangengelib , даже если среда Composer уже представляет эту библиотеку.

Ошибка перестает отображаться, если я добавляю оператор импорта даже в файл DAG, и это звучит для меня очень странно!

После полной трассировки стека:

Traceback (most recent call last): File "/usr/local/lib/airflow/airflow/models/dagbag.py", line 243, in process_file m = imp.load_source(mod_name, filepath) File "/opt/python3.6/lib/python3.6/imp.py", line 172, in load_source module = _load(spec) File "<frozen importlib._bootstrap>", line 684, in _load File "<frozen importlib._bootstrap>", line 665, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 678, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/home/airflow/gcs/dags/dg_dags/test_main.py", line 5, in <module> from dg_dags.airflow_mail_operator import CustomEmailOperator File "/home/airflow/gcs/dags/dg_dags/airflow_mail_operator.py", line 5, in <module> from exchangelib import DELEGATE, Account, Credentials, Message, FileAttachment, HTMLBody ModuleNotFoundError: No module named 'exchangelib'

Сталкивался ли кто-нибудь (и, возможно, исправил) с подобной ошибкой?

Моя среда:

composer -1.10.0-airflow-1.10.6

python3

Заранее спасибо!

...