【问题标题】:UNABLE to load uWSGI plugin: ./python3_plugin.so: cannot open shared object file: No such file or directory无法加载 uWSGI 插件:./python3_plugin.so:无法打开共享对象文件:没有这样的文件或目录
【发布时间】:2021-05-12 18:55:06
【问题描述】:

在我的 Fedora 工作站上,我收到此错误:

!!! UNABLE to load uWSGI plugin: ./python3_plugin.so: cannot open shared object file: No such file or directory !!!

但在服务器(CentOS Linux)上它工作正常。

要解决这个问题,我需要在我的 uwsgi.ini 文件中说明这一点

plugins-dir = /usr/lib64/uwsgi/
plugins = python3

但在服务器上,我可以这样做:

plugins = python3

在我的工作站上,我确实使用 dnf 卸载/重新安装了 uwsgi。我确实在 /usr/lib64/uwsgi 文件夹中安装了 python 插件。来自dnf install uwsgi-plugin-python3

我很困惑。

【问题讨论】:

  • 澄清一下,您在编辑uwsgi.ini 文件后是否收到错误消息?还是您在此之前收到错误,您的更改修复了它,只是想知道为什么您的更改修复了它?

标签: python centos fedora uwsgi


【解决方案1】:

这对我有用。示例路径:(注:末尾没有/

plugins-dir = /usr/local/lib/uwsgi

plugins         = python37

并确保您的 python37_plugin.so 文件位于 /usr/local/lib/uwsgi 文件夹中

【讨论】:

    【解决方案2】:

    看来你应该从plugins-dir中删除最后一个'/',所以应该是这样的

    plugins-dir = /usr/lib64/uwsgi
    

    【讨论】:

      【解决方案3】:

      在我的例子中,plugins-dir 是这个:/usr/lib/uwsgi/plugins 所以我补充说:

      plugins-dir = /usr/lib/uwsgi/plugins
      

      它对我有用。也许它可以对其他人有所帮助。

      【讨论】:

        【解决方案4】:

        提示似乎在错误消息中:

        !!!无法加载 uWSGI 插件:./python3_plugin.so:无法打开 共享对象文件:没有这样的文件或目录!!!

        它会在当前目录./python3_plugin.so 中查找插件,并且不会在默认目录/usr/lib64/uwsgi/ 中查找,除非在uwsgi.ini 中明确告知这样做。通常 Fedora 和 centOS,虽然都是 RedHat 的变体,但会是不同的版本。 Fedora 将包含比 RedHat 更多的“前沿”功能。 CentOS 是 RedHat 的开源变体。期望 Fedora.version > CentOS.version。在这两个版本之间的某个地方,plugins-dir 的默认值肯定已经消失了。

        【讨论】:

        • 使用plugins-dir 选项仍然给我完全相同的错误(提到./python3_plugin.so)。
        • 如果将python3_plugin.so 复制(仅用于测试)到当前目录会怎样?
        • 那也行不通。奇怪的。我在 uwsgi 配置中指定了 chdir,但即使我将 .so 放在那里也不起作用。我不知道 uwsgi 实际上在哪里寻找。我做了一个github问题:github.com/unbit/uwsgi-docs/issues/438
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-02-24
        • 2013-07-13
        • 2015-04-12
        • 2018-11-26
        • 2019-11-27
        • 2020-02-06
        • 1970-01-01
        相关资源
        最近更新 更多