Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

I'm trying to set up my django(1.8) application with AWS EC2 having Ubuntu 14.04 , Apache2 , python 3.4.

When I run 'sudo service apache2 start' , the page keeps re-loading and the same error message is stacking at '/var/log/apache2/error.log'.

The error message is

[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'

My configuration is below :

I added one line: 'Include /etc/apache2/httpd.conf' at the bottom of '/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>

I think I did it all done without something wrong.

But it keeps logging with the same error. Is there anything I'm missing?

I did change mod_wsgi/3.x Python/2.7 configured --> mod_wsgi/4.5.5 Python/3.4.3 configured for synchronizing the python version ALREADY

like image 789
LKM Avatar asked Aug 26 '16 17:08

LKM


2 Answers

It was because of the line 'WSGIPythonHome /usr/bin/pytyon3.4' in /etc/apache2/httpd.conf.

Without this line, it runs without error thank you

like image 131
LKM Avatar answered Nov 18 '22 02:11

LKM


For me it was trying to point to the python executable under the virtualenv.

Wrong:

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

Correct:

WSGIPythonHome /path/to/virtualenv/

This is as described in the WSGI documentation for virtual environments.

like image 25
AChervony Avatar answered Nov 18 '22 03:11

AChervony