Не удается запустить Apache Airflow после новой установки, ошибка импорта Python

19

после новой установки pip install apache-airflowвсе попытки запуска airflow заканчиваются ошибкой импорта python:

Traceback (most recent call last):
File "/Users/\*/env/bin/airflow", line 26, in <module> from airflow.bin.cli import CLIFactory
File "/Users/\*/env/lib/python3.7/site-packages/airflow/bin/cli.py", line 70, in <module> from airflow.www.app import (cached_app, create_app)
File "/Users/\*/env/lib/python3.7/site-packages/airflow/www/app.py", line 26, in <module> from flask_wtf.csrf import CSRFProtect
File "/Users/\*/env/lib/python3.7/site-packages/flask_wtf/__init__.py", line 17, in <module> from .recaptcha import \*
File "/Users/\*/env/lib/python3.7/site-packages/flask_wtf/recaptcha/__init__.py", line 2, in <module> from .fields import \*
File "/Users/\*/env/lib/python3.7/site-packages/flask_wtf/recaptcha/fields.py", line 3, in <module> from . import widgets
File "/Users/\*/env/lib/python3.7/site-packages/flask_wtf/recaptcha/widgets.py", line 5, in <module> from werkzeug import url_encode
ImportError: cannot import name 'url_encode' from 'werkzeug' (/Users/*/env/lib/python3.7/site-packages/werkzeug/__init__.py)
Джейкоб Томпсон
источник
Похоже, у меня возникла та же проблема сегодня, и мне было интересно, потому что в моем коде нет серьезных изменений, которые, я думаю, приведут к такому типу ошибок
alltej
Я установил поток воздуха на экземпляр три дня назад, и он работал нормально. Подобным образом я установил его в другом экземпляре ... он выдает ту же ошибку ..
Анидхья Бхатнагар

Ответы:

23

Казалось, это ошибка управления версиями, более новые версии пакета werkzeug больше не имеют url_encode, который ищет airflow, установка более низкой версии ( pip install werkzeug==0.16.0) решила проблему, и теперь airflow работает без сбоев.

Джейкоб Томпсон
источник
1
Да, использование werkzeug 1.0 (входит в состав Flask) дало мне ту же ошибку, возвращаясь к 0.16.0, исправило ее
Мэтти
1
Хороший @Jacob! Если вы хотите получать потенциальные обновления патчей, используйте вместо этого pip install werkzeug==0.16.*...
Энрико М.
1
Отлично @Jacob твой ответ сэкономил мне много времени, иначе я закончу отладку так же.
Анидхья Бхатнагар
0

Мы исправили это в Airflow 1.10.9, пожалуйста, установите последнюю версию:

pip install -U apache-airflow

или закрепить Werkzeug, запустив pip install werkzeug<1.0

kaxil
источник