Нет плагинов тревоги uWSGI при установке в virtualenv с pip

Я пытался использовать аварийные плагины uWSGI в virtualenv безрезультатно.

$ uwsgi --plugin plugins/alarm_xmpp --alarm "jabber xmpp:foo@example.com;password;bar@example.com"
open("plugins/alarm_xmpp_plugin.so"): No such file or directory [core/utils.c line 3659]
plugins/alarm_xmpp_plugin.so: cannot open shared object file: No such file or directory
*** Starting uWSGI 2.0.7 (64bit) on [Wed Oct 22 15:23:59 2014] ***
invalid alarm: jabber xmpp:foo@example.com;password;bar@example.com

По-видимому, виновником является отсутствующий плагин.

Глядя на вывод pip install uwsgi показывает, что многие, но не все плагины статически связаны с двоичным файлом uwsgi. Остальные, видимо, никогда даже не построены.

Что я могу сделать, чтобы включить все plugin/alarm_* плагины?

  1. Недостающие плагины доступны в PyPI? ни pip search ни Google не включает какие-либо пакеты, которые могут содержать необходимые файлы.

  2. Могу ли я изменить конфигурацию сборки uWSGI после того, как pip скачал исходный пакет, но до того, как он был собран?

  3. Есть ли другой способ собрать и установить плагины внутри virtualenv?

  4. В противном случае, есть ли способ собрать и установить плагины вне virtualenv?

1 ответ

Решение

Двоичный файл uWSGI может создавать плагины самостоятельно:

uwsgi --build-plugin <dir>

где 'dir' - это каталог, содержащий плагин. Процедура заканчивается файлом.so, который вы можете загрузить с помощью --plugin

Другие вопросы по тегам