Ubuntu,Apache2,Django)致命Python错误:Py_Initialize:无法获取语言环境编码ImportError:没有名为'encodings'的模块

时间:2016-08-26 17:19:59

标签: python django apache ubuntu mod-wsgi

我正在尝试使用 AWS EC2 设置我的 django(1.8)应用程序 Ubuntu 14.04,Apache2,python 3.4。 < / p>

当我运行'sudo service apache2 start'时,页面会一直重新加载,同样的错误信息堆叠在'/var/log/apache2/error.log'。

错误消息是

  

[2016年8月26日星期五] [mpm_event:notice] [pid n:tid m] AH00489:Apache / 2.4.7(Ubuntu)mod_wsgi / 4.5.5配置Python / 3.4.3 - 恢复正常操作   [2016年8月26日星期五] [核心:通知] [pid n:tid m] AH00094:命令行:'/ usr / sbin / apache2'   致命Python错误:Py_Initialize:无法获取语言环境编码   ImportError:没有名为'encodings'的模块

我的配置如下:

我在'Include /etc/apache2/httpd.conf'的底部添加了一行:'/etc/apache2/apache2.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 - &gt; mod_wsgi/4.5.5 Python/3.4.3 configured用于同步python版本ALREADY

2 个答案:

答案 0 :(得分:2)

这是因为/etc/apache2/httpd.conf中的'WSGIPythonHome /usr/bin/pytyon3.4'一行。

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

答案 1 :(得分:1)

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

错误:

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

正确:

WSGIPythonHome /path/to/virtualenv/

这是WSGI documentation for virtual environments中所述。