Подтвердить что ты не робот

Ошибка установки uWSGI./python_plugin.so

Я установил uWSGI с помощью pip и запустил его с помощью XML для загрузки моего приложения. Конфигурация XML содержит <plugin>python</plugin>. На моем новом сервере это приводит к ошибке:

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

Я могу найти версии .c и .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'

Но нет .so найдено. Моя предыдущая система установила uwsgi через apt-get, но это действительно старое (и я уверен, что он использует установленный пик uwsgi, но, возможно, не для общих объектов?)

Некоторая справочная информация:

  • Ubuntu 12.0.4 LTS
  • Python 2.7 (virtualenv)
  • Я установил uWSGI в своем Venv, используя обычный pip install uwsgi (no sudo)

Итак, я немного недоумеваю:( Я не могу быть единственным человеком в мире, чтобы иметь это, правильно? Я должен сам скомпилировать объекты .so (если так, как?) Или есть еще один отличное решение?

4b9b3361

Ответ 1

Distros должен упаковывать uWSGI модульным способом, причем каждая функция является плагином. Но когда вы устанавливаете с использованием специфических для языка способов (pip, gem...), соответствующий язык встроен, поэтому вам не нужно загружать плагин

Ответ 2

Для тех, у кого есть проблемы с этим, в основном вам нужно удалить строки, которые указывают ваш плагин из ваших файлов конфигурации, если вы перейдете из дистрибутива в установку pypi или gem. Раньше я использовал Ubuntu/Debian для uwsgi, но он был старым, поэтому я обновил его вместо использования.

Итак, в моем файле конфигурации .ini у меня была следующая строка:

plugin = python

Удаление этой строки устраняет проблему.

Ответ 3

Возможно, вы забыли эту команду

$ apt-get install uwsgi-plugin-python

Ответ 4

Установите все доступные плагины: sudo apt-get install uwsgi-plugins-all

Ответ 5

По состоянию на 6/2018 имя пакета yum было обновлено с uwsgi-plugin-python до uwsgi-plugin-python2 https://src.fedoraproject.org/rpms/uwsgi/pull-request/4#

Поэтому новая команда установки выглядит так: yum install uwsgi-plugin-python2