Impossible d'exécuter apache airflow après une nouvelle installation, erreur d'importation python

19

après une nouvelle installation à l'aide de pip install apache-airflow, toute tentative d'exécution de flux d'air se termine par une erreur d'importation 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)
Jacob Thompson
la source
on dirait que j'ai eu ce même problème aujourd'hui et que je me
posais des
J'ai installé airflow sur une instance trois jours avant et cela fonctionnait bien. De la même façon, je l'ai installé sur une autre instance ... il lance la même erreur ..
Anidhya Bhatnagar

Réponses:

23

Cela semblait être une erreur de version, les nouvelles versions du package werkzeug n'ont plus le code url_encode recherché par airflow, l'installation d'une version inférieure ( pip install werkzeug==0.16.0) a résolu le problème et airflow s'exécute désormais sans échec.

Jacob Thompson
la source
1
Yep en utilisant werkzeug 1.0 (inclus avec Flask) m'a donné cette même erreur, revenir à 0.16.0 l'a corrigé
Matty
1
Bravo @Jacob! Si vous voulez obtenir des mises à jour potentielles de correctifs, utilisez plutôt pip install werkzeug==0.16.*...
Enrico M.
1
Super @Jacob votre réponse m'a fait gagner beaucoup de temps sinon je finirai par déboguer de la même manière.
Anidhya Bhatnagar
0

Nous l'avons corrigé dans Airflow 1.10.9, veuillez installer la dernière version:

pip install -U apache-airflow

ou épinglez Werkzeug en exécutant pip install werkzeug<1.0

kaxil
la source