django - 无法将目标WSGI脚本'/var/www/backend/backend/wsgi.py'加载为Python模块

标签 django python-3.x python-2.7 django-rest-framework mod-wsgi

我正在ubuntu服务器上部署Django Web应用程序。配置已设置。但是,以某种方式,它显示了500 Internal Server Error。我检查了apache错误日志,发现以下错误条目:

[Tue Mar 26 08:50:56.540300 2019] [wsgi:error] [pid 18832] [remote 27.61.32.236:42365] mod_wsgi (pid=18832): Target WSGI script '/var/www/backend/backend/wsgi.py' cannot be loaded as Python module.
[Tue Mar 26 08:50:56.540376 2019] [wsgi:error] [pid 18832] [remote 27.61.32.236:42365] mod_wsgi (pid=18832): Exception occurred processing WSGI script '/var/www/backend/backend/wsgi.py'.
[Tue Mar 26 08:50:56.540498 2019] [wsgi:error] [pid 18832] [remote 27.61.32.236:42365] Traceback (most recent call last):
[Tue Mar 26 08:50:56.540542 2019] [wsgi:error] [pid 18832] [remote 27.61.32.236:42365]   File "/var/www/backend/backend/wsgi.py", line 12, in <module>
[Tue Mar 26 08:50:56.540553 2019] [wsgi:error] [pid 18832] [remote 27.61.32.236:42365]     from django.core.wsgi import get_wsgi_application
[Tue Mar 26 08:50:56.540584 2019] [wsgi:error] [pid 18832] [remote 27.61.32.236:42365] ImportError: No module named 'django'

我已经尝试了针对stackoverflow上发现的相同错误的解决方案。这些配置上还缺少什么吗?

Apache配置
Listen 8000
<VirtualHost *:8000>
WSGIDaemonProcess backendapp python-home=/var/www/backend/venv python-path=/var/www/backend
WSGIProcessGroup backendapp
WSGIPassAuthorization On
WSGIScriptAlias / /var/www/backend/backend/wsgi.py
ErrorLog /var/www/backend/error.log
CustomLog /var/www/backend/access.log combined
</VirtualHost>

wsgi.py
import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "backend.settings")

application = get_wsgi_application()

使用python 3.6和mod_wsgi在服务器上启用。

最佳答案

问题是wsgi python版本不匹配。我使用的是python 3,因此:

$ sudo apt-get remove libapache2-mod-python libapache2-mod-wsgi
$ sudo apt-get install libapache2-mod-wsgi-py3

关于django - 无法将目标WSGI脚本'/var/www/backend/backend/wsgi.py'加载为Python模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55353284/

相关文章:

python-3.x - 有没有办法在异步中使用 youtube-dl

excel - 如何通过使用 "win32com.client as win32"知道excel的使用行数和列数

python - 在没有 `zero` 值的情况下计算 Pandas 中的最小值?

django - 如何在 Django 测试中添加多个测试数据库

python - Django:request.GET 和 KeyError

python - 如何在 Django 中使用抽象模型作为外键?

python - 如何检测连接图像上元素的角 "joints"?

python - 在 Django StaticLiveServerTestCase 期间在测试输出中显示服务器错误?

python - Python/django 中的 URL 获取 : prevent abuse, mailcious urls 等

python - 使用 fill(color) 方法时 pygame 崩溃