Django + mod_wsgi致命Python错误:Py_Initialize:没有名为Encodings的模块

时间:2017-10-15 20:35:59

标签: python django apache permissions mod-wsgi

我正在尝试使用Django + mod_wsgi和apache在Web浏览器中加载网站。我遇到与This Question Here完全相同的问题,但解决方案发现在我的情况下不起作用。

这是我的httpd-vhosts.conf设置:

WSGIDaemonProcess binshellpress.com python-home=/usr/local/docs/binshellpress-production/virtpy/ python-path=/usr/local/docs/binshellpress-production/virtpy/lib/python3.6/
WSGIProcessGroup binshellpress.com
WSGIApplicationGroup %{GLOBAL}

<VirtualHost *:80>
  ServerAdmin webmaster@binshellpress.com
  DocumentRoot "/usr/local/docs/binshellpress-production/root"
  ServerName binshellpress.com
  ServerAlias www.binshellpress.com
  ErrorLog "/var/log/httpd/bsp-error_log"
  CustomLog "/var/log/httpd/bsp-access_log" common

  Alias /robots.txt /usr/local/docs/binshellpress-production/static/robots.txt
  Alias /favicon.ico /usr/local/docs/binshellpress-production/static/favicon.ico

  Alias /media/ /usr/local/docs/binshellpress-production/media
  Alias /static/ /usr/local/docs/binshellpress-production/static

  <Directory /usr/local/docs/binshellpress-production/static>
    Require all granted
  </Directory>

  <Directory /usr/local/docs/binshellpress-production/media>
    Require all granted
  </Directory>

  WSGIScriptAlias / /usr/local/docs/binshellpress-production/binshellpress/wsgi.py process-group=binshellpress.com

  <Directory /usr/local/docs/binshellpress-production/binshellpress>
    <Files wsgi.py>
      Require all granted
    </Files>
  </Directory>
</Virtualhost>

我在/usr/local/docs/binshellpress-production/virtpy设置了虚拟环境。我重建了mod_wsgi以明确使用该虚拟环境。我已按照This Question

的答案中所述执行了权限修改

没有变化。

我很绝望。我一直在寻找。我无法弄清楚该怎么做。请帮我。求求你。

谢谢,谢谢,谢谢,请帮助我,谢谢。

1 个答案:

答案 0 :(得分:1)

首先,通过运行您想要使用的命令行Python来检查python-home的值是否正确,并执行以下操作:

import sys
sys.prefix

它应该是相同的值。

还要注意:

python-path=/usr/local/docs/binshellpress-production/virtpy/lib/python3.6/
不应该需要

,我不明白为什么要添加它。

接下来,运行检入:

mod_wsgi链接了哪些库和位置?

如果您的mod_wsgi二进制文件肯定是针对正确的Python版本编译的,那么唯一的另一个问题是它是非标准的Python安装而不是系统Python。如果是这种情况并且没有正确链接,则可能是找到系统Python共享库而不是单独的Python安装库。

再次从虚拟环境的Python命令行中,尝试:

import sys
sys.real_prefix

你得到了什么?

相关问题