You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu配置Apache2与Python(Django)时出现site.addsitedir调用失败错误

解决Apache2 + mod_wsgi-py3的site.addsitedir() failed for '(null)'错误

这个错误我之前配置Django+Apache的时候也踩过坑,大概率是虚拟环境路径配置错误或者Python版本与mod_wsgi不匹配导致的,咱们一步步排查解决:

1. 确认Python版本与mod_wsgi的兼容性

首先得确保你装的libapache2-mod-wsgi-py3和虚拟环境的Python版本完全对应:

  • 查看mod_wsgi关联的Python版本:
    mod_wsgi-express module-config
    
    输出里会显示加载的Python库路径,比如/usr/lib/python3.x/...,要和你的虚拟环境Python版本(你这里是3.5)对齐。如果版本不匹配,可能需要重新安装对应版本的mod_wsgi包。

2. 修正WSGIDaemonProcess配置

你当前的配置手动指定了site-packages路径,其实更稳妥的是用python-home直接指向虚拟环境根目录,让mod_wsgi自动处理依赖路径,避免手动写路径出错:
修改000-default.conf里的WSGI配置段:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    # 用python-home指定虚拟环境根目录,python-path指向Django项目根目录(含manage.py的目录)
    WSGIDaemonProcess bot python-home=/home/ubuntu/Django/myvenv python-path=/home/ubuntu/Django/bot
    WSGIProcessGroup bot
    WSGIScriptAlias / /home/ubuntu/Django/bot/bot/wsgi.py

    <Directory /home/ubuntu/Django/bot/bot>
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>

    # 静态文件配置(如果你的项目需要)
    Alias /static/ /home/ubuntu/Django/bot/static/
    <Directory /home/ubuntu/Django/bot/static>
        Require all granted
    </Directory>
</VirtualHost>

注意:一定要确认/home/ubuntu/Django/myvenv确实是你的虚拟环境根目录,python-path指向的是包含manage.py的Django项目目录。

3. 检查目录权限

Apache的运行用户是www-data,必须确保它能访问你的项目和虚拟环境目录:

# 给项目目录添加读权限(最基础的权限配置)
sudo chmod -R 755 /home/ubuntu/Django/
# 如果安全允许,也可以直接把目录所有者改为www-data
sudo chown -R www-data:www-data /home/ubuntu/Django/

4. 重启Apache并验证

修改配置后重启服务:

sudo systemctl restart apache2

然后查看错误日志确认问题是否解决:

tail -f /var/log/apache2/error.log

如果没有再出现site.addsitedir()的错误,就说明配置修复成功了。

额外注意点

  • 确保你没有同时启用Python2版本的mod_wsgi,执行sudo a2dismod wsgi(如果之前装过py2版本)再重新启用py3版本:sudo a2enmod wsgi
  • 虚拟环境创建时要用对应版本的Python,比如python3.5 -m venv myvenv,避免版本不匹配导致的路径问题

内容的提问来源于stack exchange,提问作者daemon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:54:27