Пожалуйста, помогите мне.
Что я хочу сделать
Я хочу развернуть свое приложение Django.
Пример кода воспроизводит пробрем
import django
def application(environ, start_response):
start_response("200 OK", [("Content-type", "text/plain")])
return ['hello, world'.encode('utf-8')]
Это хорошо работает, когда я запускаю python с консоли, но поднимаю ModuleNotFoundError
, когда я вызываю это из веб-браузера (нет модуля с именем 'django').
$ python3
Python 3.8.2 (default, Mar 24 2020, 02:28:58)
[GCC 7.5.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import wsgi
>>> wsgi.application(None, lambda x, y: print(x, y))
200 OK [('Content-type', 'text/plain')]
[b'hello, world']
[Wed Mar 25 02:27:58.115629 2020] [wsgi:error] [pid 1717:tid 140665380144896] [remote 60.65.57.85:53170] mod_wsgi (pid=1717): Failed to exec Python script file '/home/ubuntu/grabar/wsgi.py'.
[Wed Mar 25 02:27:58.115706 2020] [wsgi:error] [pid 1717:tid 140665380144896] [remote 60.65.57.85:53170] mod_wsgi (pid=1717): Exception occurred processing WSGI script '/home/ubuntu/grabar/wsgi.py'.
[Wed Mar 25 02:27:58.115888 2020] [wsgi:error] [pid 1717:tid 140665380144896] [remote 60.65.57.85:53170] Traceback (most recent call last):
[Wed Mar 25 02:27:58.115917 2020] [wsgi:error] [pid 1717:tid 140665380144896] [remote 60.65.57.85:53170] File "/home/ubuntu/grabar/wsgi.py", line 1, in <module>
[Wed Mar 25 02:27:58.115924 2020] [wsgi:error] [pid 1717:tid 140665380144896] [remote 60.65.57.85:53170] import django
[Wed Mar 25 02:27:58.115955 2020] [wsgi:error] [pid 1717:tid 140665380144896] [remote 60.65.57.85:53170] ModuleNotFoundError: No module named 'django'
[Wed Mar 25 02:27:58.410154 2020] [authz_core:error] [pid 1589:tid 140665237219072] [client 60.65.57.85:53172] AH01630: client denied by server configuration: /home/ubuntu/grabar/favicon.ico, referer: http://18.176.105.25/test
Я исследовал разницу между вызываемыми локально и вызываемыми с веб-сервера.
sys.executable
возвращает одно и то же значение (/ usr / local / bin / python3).
sys.path
имеет небольшое отклонение, Я думаю, что это не причина.
local
['/home/ubuntu/grabar', '/usr/local/lib/python38.zip', '/usr/local/lib/python3.8', '/usr/local/lib/python3.8/lib-dynload', '/home/ubuntu/.local/lib/python3.8/site-packages', '/usr/local/lib/python3.8/site-packages']
web
['/home/ubuntu/grabar', '/home/ubuntu/grabar', '/home/ubuntu/.local/lib/python3.8/site-packages', '/usr/local/lib/python38.zip', '/usr/local/lib/python3.8', '/usr/local/lib/python3.8/lib-dynload', '/usr/local/lib/python3.8/site-packages', '/home/ubuntu/.local/lib/python3.8/site-packages']
Что мне исследовать? У вас есть идеи?
Спасибо.