我安装了以emperor模式运行的uWSGI.Vassals使用不同的python版本,因此我不能在uWSGI二进制文件中嵌入python插件.
有了这个,我想在其中一个封锁中使用asyncio循环引擎,但我无法弄清楚如何运行非嵌入的asyncio插件和greenlet插件.
到目前为止我尝试过的:
将asyncio和greenlet嵌入到uWSGI中,使用:
CFLAGS="-I/usr/local/include/python3.4" make PYTHON=python3.4 asyncio
建立uWSGI.但这也将嵌入python插件,我不想要它.
使用以下方法构建asyncio和uwsgi作为外部插件:
PYTHON=python3.4 ./uwsgi --build-plugin "plugins/greenlet greenlet" PYTHON=python3.4 ./uwsgi --build-plugin "plugins/greenlet greenlet"
构建插件,但插件无法加载:
/usr/local/lib/uwsgi/asyncio_plugin.so:unfined defined symbol:up
/usr/local/lib/uwsgi/greenlet_plugin.so:undefined symbol:up
在日志中.
//编辑
我已经发现必须在设置中的asyncio和greenlet之前启用python插件,因此错误不再发生,但greenlet不起作用,当前greenlet中没有父级.
我还能尝试做些什么?我敢打赌,在python3.4插件中嵌入asyncio和greenlet会起作用,但我不知道该怎么做或者甚至可能.
目前我正在使用内置所需插件的第二个皇帝,但由于平台的限制,我不能再使用该解决方案了.