Impossibile eseguire il flusso d'aria di Apache dopo una nuova installazione, errore di importazione di Python


19

dopo una nuova installazione utilizzando pip install apache-airflow, qualsiasi tentativo di eseguire il flusso d'aria termina con un errore di importazione di 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)

sembra che ho avuto lo stesso problema oggi e mi stavo chiedendo perché non ci fossero cambiamenti importanti nel mio codice che penso genererà questo tipo di errore
alltej

Ho installato il flusso d'aria su un'istanza tre giorni prima e funzionava bene. In modo simile l'ho installato in un altro caso ... genera lo stesso errore ..
Anidhya Bhatnagar

Risposte:


23

Sembrava un errore di controllo delle versioni, le versioni più recenti del pacchetto werkzeug non hanno più l'url_encode che il flusso d'aria sta cercando, l'installazione di una versione inferiore ( pip install werkzeug==0.16.0) ha risolto il problema e il flusso d'aria ora funziona senza errori.


1
Sì usando werkzeug 1.0 (incluso con Flask) mi ha dato lo stesso errore, tornando a 0.16.0 risolto
Matty

1
Ben fatto, Jacob! Se vuoi ottenere potenziali aggiornamenti di patch, usa invece pip install werkzeug==0.16.*...
Enrico M.

1
Grande @Jacob la tua risposta mi ha risparmiato un sacco di tempo altrimenti finirò per eseguire il debug dello stesso.
Anidhya Bhatnagar

0

L'abbiamo risolto in Airflow 1.10.9, installa l'ultima versione:

pip install -U apache-airflow

o pin Werkzeug eseguendo pip install werkzeug<1.0

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.