返回顶部

我安装了以皇帝模式运行的 uWSGI。Vassals 使用不同的 python 版本,所以我不能在 uWSGI 二进制文件中嵌入 Python 插件。 话虽如此,我想在其中一个vassal中使用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:未定义符号:向上 /usr/local/lib/uwsgi/greenlet_plugin.so:未定义符号:向上 在日志中。 //编辑 我发现python插件必须在设置中的asyncio和greenlet之前启用,所以错误不再发生,但greenlet不起作用,当前greenlet中没有父级。 我还能尝试做什么?我敢打赌,在 python3.4 插件中嵌入 asyncio 和 greenlet 会起作用,但我不知道该怎么做,甚至不知道它是否可能。 目前我正在使用带有内置必需插件的第二皇帝,但由于平台限制,我不能再使用该解决方案。

3

0/300

评论 1

fish

我相信您应该遵循此处概述的方法:https ://uwsgi-docs.readthedocs.io/en/latest/WSGIquickstart.html#bonus-multiple-python-versions-for-the-same-uwsgi-binary 基本上: 构建一个没有 Python 插件的核心 uwsgi 二进制文件(供皇帝使用):make PROFILE=nolang 然后为您使用的每个 python 版本(对于vassal)构建插件,并配置每个vassal 以使用正确的插件。

2022-02-07 14:56:41

- 没有更多了 -