Deploy de Django con mod_wsgi + virtualenv

El día de ayer le comentaba a alguien por Twitter que, para el deploy de aplicaciones Django usando apache + mod_wsgi tenia que hacer unos cambios en el archivo .wsgi si quería utilizar virtualenv.

Pues bien, el día de hoy quiero publicar esa modificación para los que quieran usarla.

:::python  
import os
import sys
import site

sys.stdout = sys.stderr

VE_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir, "venv/lib/python2.7/site-packages"))
PROJECT_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__)))
ROOT_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir))

# Add the virtual Python environment site-packages directory to the path
site.addsitedir(VE_PATH)

# put the Django Project on sys.path
sys.path.insert(0, PROJECT_ROOT)
sys.path.insert(0, ROOT_PATH)
sys.path.insert(0, VE_PATH)

# Avoid ``[Errno 13] Permission denied: '/var/www/.python-eggs'`` messages
os.environ['PYTHON_EGG_CACHE'] = '/tmp'
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

Espero que les ayude a todos y las dudas, comentarios, etc son bienvenidas!

Pingbacks

Los pingbacks están cerrados.

Comentarios

Los comentarios están deshabilitados.