没有名为 wtforms.compat 的模块

Rav*_*avi 18 python wtforms

当我们尝试使用 python 3.6.8 版本执行时,出现以下模块错误

from wtforms.compat import string_types, text_type
ModuleNotFoundError: No module named 'wtforms.compat'
Run Code Online (Sandbox Code Playgroud)

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

任何人都可以建议吗

Tom*_*ias 32

今天在运行 Airflow 1.10.12 版本时注意到此错误:

from wtforms.compat import text_type
ModuleNotFoundError: No module named 'wtforms.compat'
Run Code Online (Sandbox Code Playgroud)

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

编辑只是为了添加更多信息:compat.py一旦放弃对 Python < 3.6 的支持,就完全删除了(请参阅PR)。wtforms如果您运行的是 Python >= 3.6,您还可以通过简单地使用str代替text_type和来使用最新版本string_types,因为这些只是别名:

if sys.version_info[0] >= 3:
    text_type = str
    string_types = (str,)
    izip = zip
Run Code Online (Sandbox Code Playgroud)

并且不再需要进口。

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

  • 编辑: pip3 install wtforms==2.3.3 成功了 (3认同)