Ubuntu , Apache2 , Django ) Fatal Python error: Py_Initialize: Unable to get the locale encoding ImportError: No module named 'encodings'

Ubuntu , Apache2 , Django ) Fatal Python error: Py_Initialize: Unable to get the locale encoding ImportError: No module named 'encodings'

我正在尝试使用具有 [=43 的 AWS EC2 设置我的 django(1.8) 应用程序=] 14.04 , Apache2 , python 3.4.

当我 运行 'sudo service apache2 start' 时,页面不断重新加载并且相同的错误消息堆叠在 '/var/log/apache2/error.log'.

错误信息是

[Fri Aug 26 2016] [mpm_event:notice] [pid n:tid m] AH00489: Apache/2.4.7 (Ubuntu) mod_wsgi/4.5.5 Python/3.4.3 configured -- resuming normal operations [Fri Aug 26 2016] [core:notice] [pid n:tid m] AH00094: Command line: '/usr/sbin/apache2' Fatal Python error: Py_Initialize: Unable to get the locale encoding ImportError: No module named 'encodings'

我的配置如下:

我在 '/etc/apache2/apache2.conf' 的底部添加了一行:'Include /etc/apache2/httpd.conf'

'/etc/apache2/httpd.conf' :

WSGIScriptAlias / /home/ubuntu/project/project/project/wsgi.py
WSGIDaemonProcess project python-path=/home/ubuntu/project/project
WSGIProcessGroup project
WSGIPythonHome /usr/bin/python3.4

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

Alias /static/ /home/ubuntu/project/project/deploy_to_server/
<Directory /home/ubuntu/project/project/deploy_to_server>
Require all granted
</Directory>

我想我做的都没有错。

但是它一直在记录同样的错误。 有什么我遗漏的吗?

我确实更改了 mod_wsgi/3.x Python/2.7 configured --> mod_wsgi/4.5.5 Python/3.4.3 configured 以同步 python 版本 ALREADY

这是因为 /etc/apache2/httpd.conf.

中的行 'WSGIPythonHome /usr/bin/pytyon3.4'

没有这一行,它运行没有错误谢谢

对我来说,它试图指向 virtualenv 下的 python 可执行文件。

错误:

WSGIPythonHome /path/to/virtualenv/bin/python3.4

正确:

WSGIPythonHome /path/to/virtualenv/

这与WSGI documentation for virtual environments中描述的一样。