I am finding it impossible to recompile mod_wsgi for python 2.7.
I am building an application using Flask and Flask-WTF. It works fine as a standalone but breaks in Apache because the the Apache server on my mac is using Python 2.6, even though 2.7 is installed and used in python apps by default. The standalone uses 2.7.
which python shows this:
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
otool -L mod_wsgi.so showed this:
mod_wsgi.so:
/System/Library/Frameworks/Python.framework/Versions/2.6/Python (compatibility version 2.6.0, current version 2.6.1)
So I recompiled:
./configure with-python=/Library/Frameworks/Python.framework/Versions/2.7/bin/python
otool -L mod_wsgi.so shows no change:
/System/Library/Frameworks/Python.framework/Versions/2.6/Python (compatibility version 2.6.0, current version 2.6.1)
After a restart, Apache was still using 2.6 as confirmed both by phpinfo() and error logging. The Apache details from phpinfo() are as follows:
Apache/2.2.22 (Unix) DAV/2 mod_wsgi/3.4 Python/2.6.1 PHP/5.3.15 mod_ssl/2.2.22 OpenSSL/0.9.8r
It is using modules found at this path: /Library/Python/2.6/site-packages/. There is no 2.7 directory in /Library/Python.
I have tried fiddling with the WSGIPythonHome variable in httpd.conf, but nothing works.
I also compiled mod_wsgi with the disable-framework command. This did not fix the problem either.
Is there something else I need to change in my Apache configuration to point it to the right python version, or do I need to add something extra to my mod_wsgi configuration? Installing the modules I am using into 2.6 isn't an option.
I am running Apache 2 on Mac OSX 10.6.8
Thanks.
Here's the full solution.
cd <mod_wsgi source directory>
make distclean
./configure --with-python=/Library/Frameworks/Python.framework/Versions/2.7/bin/python --disable-framework
sudo make install