7
votes

I installed uwsgi using pip install uwsgi.

When I run uwsgi, I get a couple of errors. The command I'm running is uwsgi --master --emperor /etc/uwsgi/apps-enabled --die-on-term --uid www-data --gid www-data.

It appears that I'm missing the http and python plugins:

[uWSGI] getting INI configuration from component_tracking_test.ini
open("./http_plugin.so"): No such file or directory [core/utils.c line 3347]
!!! UNABLE to load uWSGI plugin: ./http_plugin.so: cannot open shared object file: No such file or directory !!!
open("./python_plugin.so"): No such file or directory [core/utils.c line 3347]
!!! UNABLE to load uWSGI plugin: ./python_plugin.so: cannot open shared object file: No such file or directory !!!
[emperor] removed uwsgi instance component_tracking_test.ini

How do I install the required plugins given that I have installed uwsgi via pip?

2
NOTE: I'm aware that debian has its own wsgi packages, but they fail to install for some reason. I'm trying pip to avoid having to use the debian packages. - Tom
When I install uwsgi using pip, the compile line contains -DUWSGI_DECLARE_EMBEDDED_PLUGINS with python and http among them. Is your configuration actively trying to load them without needing them? - Thomas Fenzl

2 Answers

1
votes

When I add "--binary-path /usr/local/bin/uwsgi" (change path to your wsgi bin) to the command, the error went away.

from the docu

binary-path Argument: string

Force binary path.

If you do not have uWSGI in the system path you can force its path with this option to
permit the reloading system and the Emperor to easily find the binary to execute.

1
votes

I just had a similar problem and the reason was that I was running sudo uwsgi, not realizing that sudo won't respect the PATH and will launch the system-wide uwsgi. See this answer.