2013-04-10 198 views
25

我使用PIP和使用XML启动它加载我的应用程序安装uWSGI。 XML配置包含<plugin>python</plugin>。在我的新的服务器它导致了一个错误:PIP安装uWSGI ./python_plugin.so错误

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' 

但是,没有。所以发现。我以前的系统有一个uwsgi安装通过apt-get的,但是这是真的老了(我敢肯定它采用了PIP安装uwsgi正常,但也许不是共享对象呢?)

一些背景资料:

  • Ubuntu的LTS 12.0.4
  • Python 2.7版(的virtualenv)
  • 我已经在我的VENV安装uWSGI,使用正常pip install uwsgi(无sudo

所以我有点无知:(我不能是世界上唯一拥有这个的人,对吗?我应该自己编译.so对象吗? (如果是这样,如何?)或者是否有另一个很好的解决方案?

+0

所以......我从XML文件中删除了蟒蛇,现在加载...但我不了解为什么/何时需要。还要检查它是否真的*现在可以工作 – Carst 2013-04-10 21:27:06

回答

41

发行版应以模块化的方式打包uWSGI,与每个特征作为一个插件。但是,当你安装使用相关的语言嵌入语言特定的方式(PIP,宝石......),所以你不需要加载插件

+1

谢谢!互联网指南让我有点困惑,但最终它比预期更容易! ;)感谢您的帮助 – Carst 2013-04-11 08:04:19

+0

这是对uwsgi安装在那里最相关的评论。谢谢。这是一个有用的链接到未来的读者:http://projects.unbit.it/uwsgi/wiki/MultiPython – 2014-05-14 00:40:14

41

对于被有这个困难的人,基本上你需要删除线如果您从发行版更改为pypi或gem install,则会从您的配置文件中声明您的插件。我以前使用Ubuntu/Debian软件包进行uwsgi,但是它很旧,所以我升级为使用pip。

所以,在我的配置.ini文件,我有以下行:

plugin = python 

删除该行解决了这个问题。

+0

感谢乔丹,这也为我工作 – 2013-06-25 11:47:21

+4

对于使用XML而不是.ini的人来说,一个小的fyi,删除“ python” – Carst 2013-10-07 22:34:16

3

你可能忘了这个命令

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

或者如果您使用的是python3 apt-get install uwsgi-plugin-python3' – 2017-03-02 08:43:01

+0

并在centos rhel下 - “sudo yum install uwsgi-plugin-python' – radtek 2018-01-16 02:46:23

0

安装所有可用的插件:sudo apt-get install uwsgi-plugins-all