Целевой скрипт WSGI не может быть загружен как модуль python - PullRequest
0 голосов
/ 01 февраля 2020

Flask rest API выдает ошибку 500 с «Target WSGI script не может быть загружен, так как не может быть загружен как Python module» с журналами ниже и в файле приложения .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

1 Ответ

0 голосов
/ 11 апреля 2020

Модуль urllib.request предназначен для Python 3. Вы используете python 2.

С Werkzeug 2.0.0 changelogs :

Отказаться от поддержки Python 2 и 3,5

Либо понизьте версию Werkzeug, либо обновите до последней python 3 версии.

...