Django 1.11.5 on Apache with mod_wsgi giving ImportError: No module named site

Django 1.11.5 on Apache with mod_wsgi giving ImportError: No module named site

[Fri Sep 29 14:46:35.808072 2017] [wsgi:info] [pid 35637] mod_wsgi (pid=35697): Process 'swpdoc' has died, deregister and restart it.
[Fri Sep 29 14:46:35.808113 2017] [wsgi:info] [pid 35637] mod_wsgi (pid=35697): Process 'swpdoc' terminated by signal 1
[Fri Sep 29 14:46:35.808116 2017] [wsgi:info] [pid 35637] mod_wsgi (pid=35697): Process 'swpdoc' has been deregister`enter code here`ed and will no longer be monitored.
[Fri Sep 29 14:46:35.808944 2017] [wsgi:info] [pid 35699] mod_wsgi (pid=35699): Starting process 'swpdoc' with uid=48, gid=48 and threads=15.
[Fri Sep 29 14:46:35.809868 2017] [wsgi:info] [pid 35699] mod_wsgi (pid=35699): Python home /var/www/swpdoc/venswpdoc.
[Fri Sep 29 14:46:35.809895 2017] [wsgi:info] [pid 35699] mod_wsgi (pid=35699): Initializing Python.
ImportError: No module named site

WSGIScriptAlias / /var/www/swpdoc/swpdocs/swpdoc/wsgi.py
<Directory /var/www/swpdoc/swpdocs/swpdoc>
 <Files wsgi.py>
      Require all granted
  </Files>
</Directory>
WSGIDaemonProcess swpdoc python-home=/var/www/swpdoc/venswpdoc  python-
path=/var/www/swpdoc/swpdocs
WSGIProcessGroup swpdoc
WSGIApplicationGroup %{GLOBAL}

  [root@mrsblweb21548 modules]# ldd mod_wsgi.so
    linux-vdso.so.1 =>  (0x00007ffdd95fe000)
    libpython2.7.so.1.0 => /lib64/libpython2.7.so.1.0 (0x00007f1747989000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f174776d000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f1747568000)
    libutil.so.1 => /lib64/libutil.so.1 (0x00007f1747365000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f1747063000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f1746ca0000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f1747f9d000)

如果我使用带有 django 1.9.5 的项目。它正在查找 Django 并将其更新到出现此错误的较新版本。有人帮忙吗?

更新: 更改了虚拟环境目录的权限,现在得到 权限错误: [9 月 29 日星期五 19:12:35.371053 2017] [wsgi:warn] [pid 33023] (13) 许可 拒绝:mod_wsgi (pid=33023):无法统计 Python 主页 /var/www/swpdoc/venswpdoc。 Python 口译员可能不会 正确初始化。验证提供的路径和访问 整个路径的权限。

通常是由于您试图让 mod_wsgi 使用 Python 虚拟环境用于不同于 mod_wsgi 编译版本的 Python。

检查 Python mod_wsgi 的编译版本。

指出您的虚拟环境是针对哪个 Python 版本创建的。

一般情况下,你只需要在"python-path"中添加根应用路径,它就可以识别你项目中的所有应用(我假设"site"是你项目中的一个应用)。因此,您需要在配置文件中替换这一行:

WSGIDaemonProcess swpdoc python-path=/var/www/swpdoc

如果您使用的是 virtualenv,则可以使用以下行添加 virtualenv 包:

WSGIDaemonProcess swpdoc python-path=/var/www/swpdoc:/var/www/swpdoc/env/lib/python3.4/site-packages

你只需要更换你的virtualenv中安装的python版本。

另外,每次更新Django,都需要看一下release notes https://docs.djangoproject.com/en/1.11/releases/1.11/