pip instalado uWSGI ./python_plugin.so error

He instalado uWSGI usando pip y lo inicio con un XML para cargar mi aplicación. La configuración XML contiene python . En mi nuevo servidor lleva a un error:

 open("./python_plugin.so"): No such file or directory [core/utils.c line 3321] !!! UNABLE to load uWSGI plugin: ./python_plugin.so: cannot open shared object file: No such file or directory !!! 

Puedo encontrar las versiones .c y .o :

 sudo find / -name 'python_plugin.c' /srv/www/li/venv/build/uwsgi/build/uwsgi/plugins/python/python_plugin.c /srv/www/li/venv/build/uwsgi/plugins/python/python_plugin.c sudo find / -name 'python_plugin.o' /srv/www/li/venv/build/uwsgi/build/uwsgi/plugins/python/python_plugin.o /srv/www/li/venv/build/uwsgi/plugins/python/python_plugin.o sudo find / -name 'python_plugin.so' 

Pero no lo encontré. Mi sistema anterior tenía una instalación de uwsgi a través de apt-get, pero eso es muy antiguo (y estoy bastante seguro de que usa el pip uwsgi instalado normalmente, pero tal vez no sea para objetos compartidos, ¿no?)

Alguna información de fondo:

  • Ubuntu 12.0.4 LTS
  • Python 2.7 (virtualenv)
  • He instalado uWSGI en mi venv, usando el pip install uwsgi normal (no sudo )

Así que estoy un poco despistado 🙁 No puedo ser la única persona en el mundo que tenga esto, ¿verdad? ¿Debo comstackr los .so objetos? (Si es así, ¿cómo?) ¿O hay otra gran solución?

Las distribuciones deben empaquetar uWSGI de forma modular, con cada característica como un complemento. Pero cuando instala utilizando formas específicas de idioma (pip, gem …) el lenguaje relevante está incrustado, por lo que no necesita cargar el complemento

Para cualquier persona que tenga problemas con esto, básicamente debe eliminar las líneas que establecen su complemento de sus archivos de configuración si cambia de un paquete de distribución a una instalación de pypi o gem. Anteriormente estaba usando el paquete Ubuntu / Debian para uwsgi, pero era antiguo, así que actualicé para usar pip en su lugar.

Entonces, en mi archivo de configuración .ini, tuve la siguiente línea:

 plugin = python 

Eliminar esa línea soluciona el problema.

Tal vez olvidaste este comando

 $ apt-get install uwsgi-plugin-python 

Instale todos los complementos disponibles: sudo apt-get install uwsgi-plugins-all