【问题标题】:Ubuntu : Python3.8 - Apache2 - WSGI - Numpy Module not found errorUbuntu:Python3.8 - Apache2 - WSGI - Numpy 模块未找到错误
【发布时间】:2021-09-11 04:41:49
【问题描述】:

我查看了许多描述此问题的线程,但找不到问题/解决我的问题的方法。我已经大致按照Tutorial 安装了 apache2/wsgi 通过调整python3.8。你好世界页面工作正常。现在,当我将它指向我的 dash 应用程序时,我收到错误(在 app-error 文件中),它说它找不到 numpy 模块。该模块已安装,因为我可以执行 application.py 文件并且本地版本的应用程序工作得很好。 以下是我所做的基本设置/检查:

  1. 根据 od_wsgi-express module-config 的输出在 .so 文件上运行 LDD,并验证它指向 python38 文件夹。

  2. 我的 wsgi 文件指向 python3.8 使用

    #!/usr/bin/python3.8

  3. 我注意到的一件事是,当我运行 python 命令时,它指向 python2.7 并且确实没有安装 numpy。我认为这是问题所在,但我不确定为什么 wsgi 不使用 python3.8。

  4. 在相同的注释中,我将 sys.path 作为输出放在 test.py 文件中并将其用作输出,它确实指向 3.8 个文件夹,因此不确定如何丢失 numpy。这可能是文件夹权限问题吗?

  5. 我也尝试过 virtualenv,但一直遇到与 setuptools / linux 发行版相关的错误。

编辑:如果我的 python 代码不在 /var/www/APP 文件夹中,这有关系吗?它的设置方式是 APP.CONF 文件指向 /var/www/app.wsgi 文件。 app.wsgi 文件正在设置 /usr/myuser/app 文件夹的路径,并从那里的 python 文件导入应用程序,其中包含破折号应用程序代码。因为它可以找到我猜测路径检查的脚本。我确实为 /usr/myuser/APP 文件夹运行了 CHOWN -R 以授予它所有权限。

【问题讨论】:

    标签: python apache ubuntu mod-wsgi


    【解决方案1】:

    我遇到了类似的问题,但使用的是 SciPy。你需要追加

    WSGIApplicationGroup %{GLOBAL}
    

    到您的httpd.conf,通常位于/etc/httpd/conf/httpd.conf 文件中。对此的解释是 numpy 和 scipy 的 C 扩展在 python 的主解释器中运行,而 mod_wsgi 使用子解释器。 来源:https://serverfault.com/a/514251

    【讨论】:

    • 没有 httpd.conf 文件(ubuntu 显然没有使用它)。我确实找到了 apache2.conf 并将代码卡在那里。不幸的是,这没有帮助。
    • 非常感谢,这个解决方案节省了我的时间!
    猜你喜欢
    • 2019-03-25
    • 2020-08-19
    • 1970-01-01
    • 2015-03-23
    • 2011-06-12
    • 1970-01-01
    • 2017-09-19
    • 2021-09-01
    • 1970-01-01
    相关资源
    最近更新 更多