Actualmente estoy ejecutando un entorno conda con la versión 0.14.2 de la flask-wtf version 0.14.2 y wtforms version 2.21 y tengo problemas para resolver este ImportError: cannot import name 'url_encode' from 'werkzeug'
El siguiente código es el rastreo completo.
Traceback (most recent call last): File "run.py", line 1, in <module> from flaskblog import app File "/Users/justinding/Desktop/test/test_wesite/flaskblog/__init__.py", line 10, in <module> from flaskblog import routes File "/Users/justinding/Desktop/test/test_wesite/flaskblog/routes.py", line 4, in <module> from flaskblog.forms import RegistrationForm,LoginForm File "/Users/justinding/Desktop/test/test_wesite/flaskblog/forms.py", line 1, in <module> from flask_wtf import FlaskForm File "/opt/anaconda3/envs/smartbox/lib/python3.7/site-packages/flask_wtf/__init__.py", line 17, in <module> from .recaptcha import * File "/opt/anaconda3/envs/smartbox/lib/python3.7/site-packages/flask_wtf/recaptcha/__init__.py", line 2, in <module> from .fields import * File "/opt/anaconda3/envs/smartbox/lib/python3.7/site-packages/flask_wtf/recaptcha/fields.py", line 3, in <module> from . import widgets File "/opt/anaconda3/envs/smartbox/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' (/opt/anaconda3/envs/smartbox/lib/python3.7/site-packages/werkzeug/__init__.py)Configurar werkzeug==0.16.1 en su archivo de requisitos lo soluciona. El problema es con la versión 1.0.0
Supongo que el error está relacionado con la nueva versión de werkzeug. en la nueva versión de werkzeug no hay "url_encode". Así que intente instalar una versión anterior de werkzeug como esta: "pip install werkzeug==0.16.0" la mía se arregló con esta solución
intente importar esto desde werkzeug.urls