#python #airflow #sys
Вопрос:
Новичок здесь. Я недавно установил Airflow и нахожусь в процессе создания DAG. Моя проблема в том, что, когда я запускаю Airflow, я получаю сообщение об ошибке, что он не может найти мой пакет «etl_package». Это странно, b/c этот пакет находится в том же каталоге (C:UsersusernameAppDataRoamingPythonPython37site-packages) в качестве пакетов воздушного потока, используемых в моем коде. Я проверил, что это на моем ПУТИ к ПИТОНУ.
from airflow import DAG
from datetime import datetime
from airflow.operators.python import PythonOperator
from etl_package.data_collect.dropbox_download_file import DownloadMoveFiles as dlm
with DAG("mydag", start_date=datetime(2020, 1, 1),
schedule_interval="@daily", catchup=False) as dag:
collect_data = PythonOperator(
task_id="dbx_collection",
python_callable=dlm.collect_move
)
Я думаю, что ошибка может быть связана с расположением моей папки DAG. В настоящее время он находится на моем рабочем столе и, следовательно, не находится в корневой папке, где находится остальная часть моего кода python. Однако, если это проблема, то я не понимаю, почему Airflow может распознавать импортированные модули воздушного потока. Спасибо и ценю любую помощь.
Комментарии:
1. Вы проверили, была ли ссылка на airflow через вашу среду разработки, а не из папки проекта? В прошлый раз, когда у меня был проект с большим количеством внешних элементов, я поместил все из корневой папки моего проекта. Если вы этого не сделаете, то вам нужно указать путь, который будет работать только локально (если вас это волнует).
2. Если я вас правильно понимаю, я считаю, что на Airflow была ссылка из моей IDE (я использовал Pycharm для установки всех пакетов airflow). В папке проекта (в которой есть мои dag) есть только файл yaml, созданный докером, и папки для плагинов, dag и журналов. Как бы я мог указать путь, поскольку сейчас я работаю только локально.
3. Можно ли будет описать ваш воздушный поток env. Работает ли он внутри контейнера docker?
4. Да, он работает внутри контейнера docker. Я установил его через docker_compose. сценарий yaml ( airflow.apache.org/docs/apache-airflow/stable/… ). Этот. файл yaml находится в папке на моем рабочем столе, которая находится за пределами корневой папки, в которой работает мой pycharm.
5. @Danielme, я поместил все в корневую папку своего проекта, и это сработало. Мне потребовалось некоторое время, чтобы понять, как работает Докер, и это решение было рабочим. Спасибо