没有名为 wtforms.compat 的模块

No module named wtforms.compat

当我们尝试执行时 python 3.6.8 版本低于模块错误

from wtforms.compat import string_types, text_type
ModuleNotFoundError: No module named 'wtforms.compat'

当我尝试安装或升级 wtforms 时,它仍然显示相同的错误

哪位大神可以推荐一下

今天 运行 我们的 Airflow 1.10.12 构建时注意到这个错误:

from wtforms.compat import text_type
ModuleNotFoundError: No module named 'wtforms.compat'

显然,问题与昨天发布的 wtforms 的最新版本 (3.0.0) 有关。我们设法通过将它固定到以前的版本来绕过它:wtforms==2.3.3.

编辑只是为了添加更多信息:compat.py 在对 Python < 3.6 的支持被删除后被完全删除(参见 PR)。如果您是 运行 Python >= 3.6,您也可以使用最新的 wtforms,只需使用 str 而不是 text_typestring_types ,因为这些只是别名:

if sys.version_info[0] >= 3:
    text_type = str
    string_types = (str,)
    izip = zip

而且应该不再需要进口了。

如果 运行 Python < 3.6,您可能需要坚持使用 wtforms<=2.3.3