问题描述:
python3.8启动webApi服务报错TypeError: required field “type_ignores” missing from Module
错误信息:
self._compile_builder(False).__get__(self, None)
File "/home/vagrant/.local/lib/python3.8/site-packages/werkzeug/routing.py", line 945, in _compile_builder
code = compile(module, "<werkzeug routing>", "exec")
TypeError: required field "type_ignores" missing from Module
原因分析:
服务之前是好的,升级到最新版3.8出错的。应该是跟werkzeug不兼容了
解决方案:
1、改代码
在网上找到了一个也是由于3.8版本带来的错误的 原问题链接
由945行的
module = ast.fix_missing_locations(ast.Module([func_ast]))
改成
module = ast.fix_missing_locations(ast.Module([func_ast],[]))
即可
2、升级修复 原问题链接
该错误已在werkzeug 0.15.5中修复。从0.15.4升级到更高版本。