【问题标题】:ModuleNotFoundError with wsgi on apache serverModuleNotFoundError 与 Apache 服务器上的 wsgi
【发布时间】:2021-01-02 20:42:47
【问题描述】:

我在 apache Web 服务器 (Amazon Linux 2) 上使用 wsgi 运行烧瓶脚本。

我在使用 Python 3.7 时收到“ModuleNotFoundError: No module named 'cv2'”错误。

  • 我没有收到其他模块的这个错误,我怀疑这是因为 cv2 是唯一存储在 “/home/ec2-user/.local/lib/python3.7/site-packages”。其他在“/usr/local/lib/python3.7/site-packages/”中

  • 我检查了 site-packages 文件夹的文件权限,并且该目录没有读写权限。 我为所有用户添加了它(脚本由 apache 用户运行,而不是所有者)。

  • 我检查了“/home/ec2-user/.local/lib/python3.7/site-packages”在 sys.path 中

  • 当我在没有 wgsi 的情况下运行烧瓶脚本时,导入工作正常

  • 这不是 python 2 和 3 混淆的问题,因为导入我只有在 python3 中的模块是有效的

  • 我的 mod_wsgi-py37.cpython-37m-x86_64-linux-gnu.so 文件兼容 python 3.7

  • 由于我没有使用守护程序模式,我可以尝试在我的 apache 配置中添加 WSGIPythonPath /home/ec2-user/.local/lib/python3.7/site-packages/ 行,这并不奇怪没有解决问题

  • 我尝试在 cv2 导入之前添加sys.path.insert(0, '/home/ec2-user/.local/lib/python3.7/site-packages/'),但没有成功

  • 我没有运行任何类型的虚拟环境

conf/httpd-le-ssl.conf

<IfModule mod_ssl.c>

#WSGIPythonPath /home/ec2-user/.local/lib/python3.7/site-packages/

<VirtualHost *:443>
    DocumentRoot "/var/www/html"
    ServerName "domain.app"
    ServerAdmin "admin@domain.app"
    ServerAlias "www.domain.app"

    WSGIScriptAlias / /var/www/application/myapplication.wsgi

    <Directory /var/www/application>
        Require all granted
    </Directory>

Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/domain.app/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain.app/privkey.pem


</VirtualHost>
</IfModule>

感谢任何帮助。

【问题讨论】:

  • 你可以尝试运行 virtualenv 吗?

标签: python apache opencv flask mod-wsgi


【解决方案1】:

这可能是因为模块不在路径中(您可能不正确地更改路径)或类似的小问题。也许这可能是模块放置不当或以某种方式被删除。我是菜鸟,但我会尽力提供帮助。

【讨论】:

    【解决方案2】:

    事实证明 .local 和 site-packages 都没有执行权限。 我以为读取权限允许遍历目录,但显然它是执行权限。

    我刚刚在这两个目录上运行了chmod a+x directoryName,它成功了。

    我还必须取消注释 WSGIPythonPath 行。

    【讨论】:

      猜你喜欢
      • 2013-08-12
      • 2021-01-15
      • 1970-01-01
      • 2023-03-04
      • 2012-11-17
      • 1970-01-01
      • 2020-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多