2013-04-10 5 views
25

J'ai installé uWSGI en utilisant pip et je l'ai démarré avec un XML pour charger mon application. La configuration XML contient <plugin>python</plugin>. Sur mon nouveau serveur, il conduit à une erreur:pip-installed uWSGI ./python_plugin.so erreur

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 !!! 

je peux trouver les .c et les .o versions:

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' 

Mais .donc trouvé. Mon système précédent avait une uwsgi installation par apt-get, mais c'est vraiment vieux (et je suis tout à fait sûr qu'il utilise le pip installé uwsgi normalement, mais peut-être pas pour les objets partagés alors?)

Quelques informations de fond:

  • Ubuntu LTS 12.0.4
  • Python 2.7 (virtualenv)
  • J'ai installé uwsgi dans mon venv, en utilisant la pip install uwsgi normale (pas sudo)

Donc, je suis un peu désemparé :(Je ne peux pas être la seule personne au monde à avoir cela, non? Dois-je compiler les objets .so moi-même? (Si oui, comment?) Ou y a-t-il une autre excellente solution?

+0

Alors ... J'ai enlevé le python à partir du fichier xml et maintenant il charge ... mais je ne comprendre pourquoi/quand c'est nécessaire. Encore faut-il vérifier si ça marche * vraiment * maintenant – Carst

Répondre

41

Les distros doivent être modélisés uWSGI de façon modulaire, chaque fonctionnalité étant un plugin. Mais quand vous installez en utilisant des moyens spécifiques à la langue (pip, gem ...) la langue correspondante est intégrée, vous n'avez donc pas besoin de charger le plugin

+1

Merci! Les guides Internet m'ont un peu confus, mais à la fin c'était plus facile que prévu! ;) Merci pour votre aide – Carst

+0

Ceci est le commentaire le plus pertinent sur l'installation uwsgi là-bas. Je vous remercie. Voici un lien utile pour les futurs lecteurs: http://projects.unbit.it/uwsgi/wiki/MultiPython –

41

Pour ceux qui ont des problèmes avec cela, vous devez essentiellement supprimer les lignes cet état de votre plugin de vos fichiers de configuration si vous passez d'un paquet de distribution à une installation pypi ou gem. J'utilisais auparavant le paquetage Ubuntu/Debian pour uwsgi, mais il était ancien, donc j'ai mis à jour pour utiliser pip à la place.

Ainsi, dans ma configuration de fichier .ini, j'ai eu la ligne suivante:

plugin = python 

Retrait de cette ligne résout le problème.

+0

Merci Jordan, qui a travaillé pour moi aussi –

+4

Un petit fyi pour les personnes qui utilisent le xml au lieu du .ini, supprimer " python" – Carst

3

Peut-être que vous avez oublié cette commande

$ apt-get install uwsgi-plugin-python 
+3

Ou si vous utilisez python3 'apt-get install uwsgi-plugin-python3' –

+0

et sous centos rhel -' sudo yum install uwsgi-plugin-python' – radtek

0

Installer tous les plugins disponibles: sudo apt-get install uwsgi-plugins-all