A continuación explico como cambiar la versión de python que utiliza django, para disponer de una versión más nueva y con más posibilidades.
El escenario sería el siguiente:
- Red Hat Enterprise Linux Server release 5.1
- Apache/2.2.3
- Django 1.3
- mod_wsgi (para conexión entre apache y python)
- Python 2.4.3
Queremos cambiar la versión de python para tener la 2.7.3.
Lo primero que haremos será instalar la nueva versión de python:
- Nos descargamos la versión 2.7.3: http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz
- La ruta de instalación será, por ejemplo, /opt/python273, luego pasamos a compilar:
tar xvfz Python-2.7.3.tgz
cd /Python-2.7.3
./configure --prefix=/opt/python273
make
make altinstall
Es importante hacer este make altinstall, pues vamos a instalar una versión alternativa de python, no queremos pisar la ya existente.
Ya tenemos instalado python en la versión 2.7.3. Si en nuestro python/django tenemos instalado diversos paquetes, sería interesante sacar un listado de estos para poder instalarlos en la nueva versión de python. Para ello:
- Sacar listado de paquetes de la vesión actual de python:
pip freeze > /tmp/paquetes.txt
- Instalar los paquetes en la nueva versión de python:
/opt/python273/bin/pip install -r /tmp/paquetes.txt
(Si no trae pip la nueva versión de python, pues nos lo bajamos y lo instalamos para esta versión).
Ahora debemos compilar nuestro módulo mod_wsgi con la nueva versión de python, así que nos bajamos mod_wsgi: http://modwsgi.googlecode.com/files/mod_wsgi-3.4.tar.gz
y para compilarlo:
./configure --with-python=/opt/python273/bin/python2.7
make
make install
Con esto ya tenemos nuestro mod_wsgi compilado para la nuestra nueva versión de python, ya sólo nos queda indicar en apache la ruta de nuestro python, con lo que en nuestro fichero de configuración añadiremos la siguiente directiva:
WSGIPythonHome /opt/python273
Si tienes un conf con un virtual configurado, esta directiva debe estar fuera del virtual (al final de </VirtualHost>).
Reiniciamos nuestro apache y listo, ya tenemos nuestro django funcionando con la nueva versión de python.
Comentarios
Publicar un comentario