我使用pip安装了uWSGI,并使用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。我之前的系统有一个通过apt-get安装的uwsgi,但它真的很旧(我非常确定它通常使用pip安装的uwsgi,但可能不是用于共享对象?)
一些背景信息:
pip install uwsgi
(无sudo
)所以我有点不知所措:(我不可能是世界上唯一有这种病的人,对吧?我应该自己编译.so
对象吗?(如果是,是如何实现的?)或者还有另一个很好的解决方案?
发布于 2013-04-11 13:36:56
发行版应该以模块化的方式打包uWSGI,每个功能都是一个插件。但是当您使用特定于语言的方式进行安装时(pip、gem...)相关的语言是内嵌的,所以你不需要加载插件
发布于 2013-05-18 08:20:51
对于任何在这方面有问题的人,如果你从发行版包更改为pypi或gem安装,基本上你需要从你的配置文件中删除说明你的插件的行。我之前使用uwsgi的Ubuntu/Debian包,但它太旧了,所以我升级到使用pip。
因此,在我的配置.ini文件中,我有以下行:
plugin = python
删除这一行可以解决问题。
发布于 2016-05-30 19:32:56
也许您忘记了这个命令
$ apt-get install uwsgi-plugin-python
如果您使用的是Python3,请尝试使用以下命令:
$ apt-get install uwsgi-plugin-python3
https://stackoverflow.com/questions/15936413
复制相似问题