¿Cómo puedo get mod_wsgi trabajando en Mac?

He intentado instalar la última versión de mod_wsgi (3.3) desde horas en mi Mac. Estoy en Snow Leopard y tengo las versiones de Apache (Apache / 2.2.15) y Python 2.6.1 (r261: 67515) que vienen con el sistema.

  1. Descargué mod_wsgi-3.3.tar.gz de http://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-3.3.tar.gz

  2. Extrajo el file y ejecutó lo siguiente a través de la terminal:

    ./configure make sudo make install

  3. Añadí LoadModule wsgi_module modules / mod_wsgi.so a mi httpd.conf.

  4. Se reinició Apache al deshabilitar y habilitar Web Sharing desde el panel de control.

  5. localhost deja de funcionar hasta que elimine la línea agregué httpd.conf 🙁

Por favor ayuda. Gracias por adelantado.

Yo uso la versión homebrew instalada de mod_wsgi . Eso me da una versión universal de mod_wsgi que funciona con el apache de vanilla.

 ➔ file `brew list mod_wsgi` /usr/local/Cellar/mod_wsgi/3.2/libexec/mod_wsgi.so: Mach-O universal binary with 2 architectures /usr/local/Cellar/mod_wsgi/3.2/libexec/mod_wsgi.so (for architecture x86_64): Mach-O 64-bit bundle x86_64 /usr/local/Cellar/mod_wsgi/3.2/libexec/mod_wsgi.so (for architecture i386): Mach-O bundle i386 

El problema que tenías era el path a mod_wsgi.so. En OS X, la línea apropiada es

 LoadModule wsgi_module libexec/apache2/mod_wsgi.so 

Primero tuve que ejecutar el siguiente command para instalar mod_wsgi

 brew tap homebrew/apache 

Y luego corre

 brew install mod_wsgi 

En OS X 10.8 Mountain Lion, falla la brew install mod_wsgi . Esta respuesta en stackexchange sugiere que la location de la cadena de herramientas XCode ha cambiado. Solucionó mi problema y, con suerte, ayuda a otras personas que terminan aquí el 10.8 intentando instalar mod_wsgi.

También encontré este error, pero no quería usar brew.

En mi caso, la causa del problema estaba en la configuration incorrecta del framework python usado para mod_wsgi que puede ser verificado por
otool -L /usr/libexec/apache2/mod_wsgi.so

En mi caso, apuntaba al framework Python 2.7 mientras estaba usando Python 3.3 y mi
python -> /usr/bin/python
también apuntó a la versión 3.3 de Python.

Para solucionar esto, /usr/libexec/apache2/mod_wsgi.so ya instalado.

Luego se reconfiguró mod_wsgi con el command:
./configure --with-python=/usr/bin/python --disable-framework
sudo make
sudo make install

Esto debería funcionar bien. Pero en mi caso después de ejecutar make command recibí una advertencia sobre una carpeta de framework de Python no existente. Así que revisé cuál era la ruta real de mi carpeta de Python Framework y la reemplacé en Makefile en LDFLAGS .

Cambiaron desde:
-L/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/config
a
-L/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/config-3.3m

Una buena forma de verificar los modules de Apache si no funciona es:
apachectl -M

Si algún module causa el error, lo imprimirá.

Escribí dos tutoriales sobre cómo instalar Apache + MySQL + Python en Mac OS y Windows. Tal vez puedas echarle un vistazo.

[Tutorial] instala Apache + MySQL + Python en Mac OS
http://fstoke.me/blog/?p=3583

[Tutorial] instala Apache + MySQL + Python en Windows
http://fstoke.me/blog/?p=3600

Mac OS X viene con apache 2, para instalar mod_wsgi simplemente instale homebrew y ejecute el siguiente command.

 *brew install homebrew/apache/mod_wsgi* 

ve a apache2 / modules / y busca mod_wsgi.so
después de esto, ve a apache2 / conf / y haz

 *sudo vim http.conf* 

y agregue la siguiente línea
LoadModule wsgi_module modules / mod_wsgi.so

Estaba teniendo problemas para lograr que mod_wsgi también funcionara, incluso usando consejos de diferentes personas y no funcionaba, así que finalmente utilicé este website: https://pypi.python.org/pypi/mod_wsgi

  1. Descargado el file mod_wsgi 4.5.15

  2. Abrí el file en un lugar que me gustaba

  3. Fui a la location de la carpeta en la terminal

  4. ¿ python3 setup.py install (o python si estás usando una versión diferente)

Tengo una MacBook Pro versión 10.12.5 por si esto ayuda a alguien.