tutorial - mod_wsgi y mĂșltiples instalaciones de python
mod_wsgi tutorial (3)
Aquí es cómo resolví el problema similar en CentOS 6.7, ya que el predeterminado era Python 2.6, necesitaba instalar Python 2.7 para admitir un sitio web de Django.
Primero instalé Python 2.7 con yum
:
yum install python27 python27-python-devel python27-MySQL-python
La ruta de instalación de Python 2.7 es /opt/rh/python27/root/usr/bin/python
Luego necesitamos volver a compilar mod_wsgi con las nuevas rutas, y aquí están los comandos:
wget https://github.com/GrahamDumpleton/mod_wsgi/archive/4.4.21.tar.gz
tar -xzf 4.4.21.tar.gz
cd mod_wsgi-4.4.21
./configure --with-python=/opt/rh/python27/root/usr/bin/python LDFLAGS="-R/opt/rh/python27/root/usr/lib64"
make && make install
service httpd restart
tail /var/log/httpd/error_log
El punto clave aquí es que mod_wsgi necesita ubicar libpython2.7.so
en /opt/rh/python27/root/usr/lib64
en mi instalación de Python 2.7.
Otra nota importante en mi instalación fue que tuve que instalar python27-MySQL-python
con yum
, de lo contrario obtuve un error al instalarlo con pip
como se muestra a continuación:
pip install MySQL-python
Esta es una especie de continuación de this pregunta, pero se ha desviado, así que comencé una nueva. Me gustaría usar Python 2.5 en lugar del 2.6 predeterminado de OS X. He configurado esto para mi terminal y otras cosas, pero cada vez que se ejecuta apache me da la siguiente salida de error:
[Thu Jun 23 00:01:42 2011] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Thu Jun 23 00:01:42 2011] [warn] mod_wsgi: Compiled for Python/2.5.4.
[Thu Jun 23 00:01:42 2011] [warn] mod_wsgi: Runtime using Python/2.6.1.
[Thu Jun 23 00:01:42 2011] [notice] Digest: generating secret for digest authentication ...
[Thu Jun 23 00:01:42 2011] [notice] Digest: done
[Thu Jun 23 00:01:42 2011] [notice] Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8l DAV/2 mod_wsgi/3.3 Python/2.6.1 configured -- resuming normal operations
He configurado WSGIPythonPath para que coincida con lo que sys.path me da en el shell de python:
WSGIPythonPath /System/Library/Frameworks/Python.framework/Versions/2.5
Todavía no hay suerte. Ideas?
Debe usar las siguientes directivas según la versión de mod_wsgi que use
Para mod_wsgi 1.x:
WSGIPythonExecutable /path/to/python/2.5/exe
Para mod_wsgi 2.x:
WSGIPythonHome /path/to/python/2.5/exe/directory
El WSGIPythonPath
está destinado a agregar sus propias bibliotecas a la ruta de Python en el contexto de WSGI.
Enlace a la documentación: http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIPythonExecutable
[Thu Jun 23 00:01:42 2011] [warn] mod_wsgi: Compiled for Python/2.5.4.
[Thu Jun 23 00:01:42 2011] [warn] mod_wsgi: Runtime using Python/2.6.1.
Estas dos líneas le dicen que mod_wsgi se compiló para la versión de Python incorrecta, por lo que necesita recompilarlo con la directiva correcta --with-python
with --with-python
. Consulte http://code.google.com/p/modwsgi/wiki/QuickInstallationGuide#Configuring_The_Source_Code .