Flask rest API 抛出 500 错误,并显示"目标 WSGI 脚本无法加载,因为无法加载为 Python 模块",以下日志和应用程序 .wsgi 文件看起来都不错。
from flask import Flask, request, g
File "/usr/local/lib/python2.7/site-packages/flask/__init__.py", line 17, in <module>
from werkzeug.exceptions import abort
File "/usr/local/lib/python2.7/site-packages/werkzeug/__init__.py", line 152, in <module>
__import__('werkzeug.exceptions')
File "/usr/local/lib/python2.7/site-packages/werkzeug/exceptions.py", line 71, in <module>
from werkzeug.wrappers import Response
File "/usr/local/lib/python2.7/site-packages/werkzeug/wrappers.py", line 26, in <module>
from werkzeug.http import HTTP_STATUS_CODES, \
File "/usr/local/lib/python2.7/site-packages/werkzeug/http.py", line 28, in <module>
from urllib.request import parse_http_list as _parse_list_header
ImportError: No module named request
当我通过werkzeug/http.py文件进行调试时,我遇到了以下代码,并且在python命令行中from urllib2 import parse_http_list
工作正常,但在代码中,它将进入异常阻止。
from urllib2 import parse_http_list as _parse_list_header
except ImportError: # pragma: no cover
from urllib.request import parse_http_list as _parse_list_header
模块urllib.request
适用于Python 3。您正在使用 python 2。
来自 Werkzeug 2.0.0 更新日志:
放弃对 Python 2 和 3.5 的支持
要么降级 Werkzeug,要么升级到最新的 python 3 版本。