【问题标题】:Request time out with Django and scikit-image使用 Django 和 scikit-image 请求超时
【发布时间】:2015-01-20 12:24:55
【问题描述】:

我正在使用scikit-image 开发一个用于图像处理的 web 应用程序。当我通过 SSH 手动启动脚本时,一切都在我的本地计算机和 Amazon EC2 服务器上运行良好。

但是,当我从 Django 的 views.py 调用我的脚本时,每个请求都会由于时间限制而失败。基本上我发起了一个请求,但从来没有得到 Django 的回复。我正在使用 Apache 作为 Web 服务器。我注意到只有当我的脚本导入 scikit-image 时才会发生这种情况,例如当我使用

from skimage import io

如果我删除 scikit-image 的所有 import,那么它可以正常工作(即使导入了几十个其他库)。

此外,我没有收到任何错误,也没有记录,所以我不明白问题出在哪里!有什么建议吗?

更新

我尝试了最新的稳定版本 0.10.1 和 dev0.11:两者都有同样的问题。 我注意到,如果我使用 import skimagefrom skimage import img_as_float, img_as_bool,问题不会出现,但它会出现在以下任何一个以及更多

 skimage.color import rgb2hsv
 from skimage.filter import threshold_adaptive
 from skimage.morphology import  remove_small_objects

【问题讨论】:

  • 只有在导入io子模块时才会出现这种情况吗?
  • 另外,您使用的是哪个版本的 skimage?您是否也尝试过 git 的最新版本?
  • 我更新了我的问题
  • 如果我使用 python -v myscript.py 我可以看到所有模块何时加载。调用视图时,是否有等效的方法来记录 Django 中的所有导入?

标签: python django apache amazon-ec2 scikit-image


【解决方案1】:

我终于找到了问题和相关的解决方案。 问题依赖于 mod_wsgi 使用的解释器。显然,一些使用 C 扩展模块的 Python 第三方包,包括 scikit-image,只能在 Python 主解释器中工作。见类似问题here

为了将来参考,我通过将以下行添加到我的站点 .conf 文件来解决问题

WSGIApplicationGroup %{GLOBAL}

进一步参考:

【讨论】:

    猜你喜欢
    • 2018-01-09
    • 1970-01-01
    • 2019-10-29
    • 2011-02-26
    • 2021-10-13
    • 2019-07-06
    • 2021-12-19
    • 2016-03-10
    • 1970-01-01
    相关资源
    最近更新 更多