Apache-Luftstrom kann nach Neuinstallation nicht ausgeführt werden, Python-Importfehler

19

Nach einer Neuinstallation mit pip install apache-airflowwerden alle Versuche, den Luftstrom auszuführen, mit einem Python-Importfehler beendet:

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
quelle
Es sieht so aus, als hätte ich heute das gleiche Problem und habe mich gefragt, ob es keine wesentliche Änderung in meinem Code gibt, von der ich denke, dass sie diese Art von Fehler
auslösen
Ich habe den Luftstrom drei Tage zuvor an einer Instanz installiert und er hat einwandfrei funktioniert. Ähnlich wie ich es auf einer anderen Instanz installiert habe ... es wirft den gleichen Fehler aus ..
Anidhya Bhatnagar

Antworten:

23

Es schien ein Versionsfehler zu sein. Die neueren Versionen des werkzeug-Pakets haben nicht mehr den URL_Code, nach dem der Luftstrom sucht. Die Installation einer niedrigeren Version ( pip install werkzeug==0.16.0) hat das Problem behoben und der Luftstrom läuft jetzt ohne Fehler.

Jacob Thompson
quelle
1
Yep mit werkzeug 1.0 (im Lieferumfang von Flask enthalten) gab mir den gleichen Fehler, als ich auf 0.16.0 zurückging, um ihn zu beheben
Matty
1
Netter @Jacob! Wenn Sie potenzielle Patch-Updates erhalten möchten, verwenden Sie stattdessen pip install werkzeug==0.16.*...
Enrico M.
1
Großartig, @Jacob, deine Antwort hat mir viel Zeit gespart, sonst werde ich das gleiche debuggen.
Anidhya Bhatnagar
0

Wir haben es in Airflow 1.10.9 behoben. Bitte installieren Sie die neueste Version:

pip install -U apache-airflow

oder Pin Werkzeug durch Laufen pip install werkzeug<1.0

kaxil
quelle