processes emperor deploy python uwsgi

emperor - pip-instalado uWSGI./python_plugin.so error



uwsgi processes (4)

He instalado uWSGI usando pip y lo inicio con un XML para cargar mi aplicación. La configuración XML contiene <plugin>python</plugin> . 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 utiliza 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 compilar los .so objetos? (Si es así, ¿cómo?) ¿O hay otra gran solución?


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


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, gema ...) el idioma 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 pypi o gema. Antes 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