首页 > 解决方案 > mod_wsgi 在 Django 和 venv 上存在问题。无法作为 python 模块加载。ModuleNotFoundError:没有名为“django”的模块

问题描述

我正在尝试使用 Apache 和 mod_wsgi 设置 Django 项目,但无法使其正常工作。搜索了所有答案,但没有任何帮助。

这是我的 apache 配置。

Protocols h2 http/1.1
WSGIApplicationGroup %{GLOBAL}
WSGIDaemonProcess example python-home=/var/www/example.com/venv python-path=/var/www/example.com/myproject

<VirtualHost *:80>
    ServerAdmin riden@example.com
    ServerAlias www.example.com
    ServerName example.com
    DocumentRoot /var/www/example.com/myproject/

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    <Directory /var/www/example.com/myproject/myproject>
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>
    
    Alias /favicon.ico /var/www/example.com/myproject/static/images/favicon/favicon.ico
    Alias /static /var/www/example.com/myproject/static
    
    <Directory /var/www/example.com/myproject/static>
        Require all granted
    </Directory>

    WSGIProcessGroup example
    WSGIScriptAlias / /var/www/example.com/myproject/myproject/wsgi.py

    RewriteEngine on
    RewriteCond %{SERVER_NAME} =example.com
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

这是错误。

[28] [mpm_prefork:notice] [pid 959] AH00163: Apache/2.4.29 (Ubuntu) OpenSSL/1.1.1g mod_wsgi/4.5.17 Python/3.6 configured -- resuming normal operations
[53] [core:notice] [pid 959] AH00094: Command line: '/usr/sbin/apache2'
[03] [wsgi:error] [pid 969] [remote 1.2.3.4:58356] mod_wsgi (pid=969): Target WSGI script '/var/www/example.com/myproject/myproject/wsgi.py' cannot be loaded as Python module.
[08] [wsgi:error] [pid 969] [remote 1.2.3.4:58356] mod_wsgi (pid=969): Exception occurred processing WSGI script '/var/www/example.com/myproject/myproject/wsgi.py'.
[32] [wsgi:error] [pid 969] [remote 1.2.3.4:58356] Traceback (most recent call last):
[79] [wsgi:error] [pid 969] [remote 1.2.3.4:58356]   File "/var/www/example.com/myproject/myproject/wsgi.py", line 12, in <module>
[87] [wsgi:error] [pid 969] [remote 1.2.3.4:58356]     from django.core.wsgi import get_wsgi_application
[04] [wsgi:error] [pid 969] [remote 1.2.3.4:58356] ModuleNotFoundError: No module named 'django'

我尝试过的事情清单,

我究竟做错了什么?我从早上开始就一直在尝试这个,但我没有选择。请帮忙。

附加信息:

标签: pythondjangoapachemod-wsgi

解决方案


推荐阅读