Não é possível executar o fluxo de ar apache após a instalação nova, erro de importação do python

19

após uma nova instalação usando pip install apache-airflow, qualquer tentativa de executar o fluxo de ar termina com um erro de importação do 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
fonte
parece que eu tenho esse mesmo problema hoje e estava pensando sobre ele porque nenhuma mudança importante no meu código que eu acho que irá
gerar
Instalei o fluxo de ar em uma instância três dias antes e estava funcionando bem. Da mesma forma que eu instalei em outra instância ... ele lança o mesmo erro ..
Anidhya Bhatnagar

Respostas:

23

Parecia ser um erro de versão, as versões mais recentes do pacote werkzeug não têm mais o url_encode que o fluxo de ar está procurando, a instalação de uma versão inferior ( pip install werkzeug==0.16.0) resolveu o problema e o fluxo de ar agora é executado sem falhar.

Jacob Thompson
fonte
11
Sim, usando o werkzeug 1.0 (incluído no Flask) me deu esse mesmo erro, voltando ao 0.16.0 corrigido
Matty
11
Nice @Jacob! Se você deseja obter possíveis atualizações de patches, use pip install werkzeug==0.16.*...
Enrico M.
11
Ótimo @ Jacob, sua resposta economizou muito tempo; eu vou acabar depurando o mesmo.
Anidhya Bhatnagar
0

Foi corrigido no Airflow 1.10.9. Instale a versão mais recente:

pip install -U apache-airflow

ou fixe o Werkzeug executando pip install werkzeug<1.0

kaxil
fonte