导入scipy.optimize时应用超时

5 投票
2 回答
563 浏览
提问于 2025-04-17 22:31

我正在尝试在AWS Elastic Beanstalk上启动一个Python Flask应用程序。一切都运行得很好,直到我在我的一个模块中添加了这一行:

import scipy.optimize

如果我添加了那一行,我在错误日志中收到了以下信息:

Script timed out before returning headers: application.py

我相信SciPy已经正确安装,因为我通过SSH登录到EC2实例,并确认它在/opt/python/run/venv/lib/python2.7/site-packages中列出。

在虚拟环境仍然激活的情况下,我还运行了一个简单的脚本,使用了SciPy的功能,并且运行得很好。我也确认了使用的是Python 2.7.5。

使用from scipy import optimize代替import scipy.optimize也会导致相同的错误。

有没有人知道这个错误的原因是什么,或者如何解决它?

2 个回答

0

这个错误是因为导入指定的模块花费的时间超过了环境允许的时间。你可以选择减少导入的功能数量(这是推荐的做法),或者手动增加允许导入的最大时间。

0

在这里的一个讨论串中: https://groups.google.com/forum/#!topic/web2py/TmGDM35jOJ8

有人建议:

在apache2/conf/httpd.conf文件中添加以下这一行

WSGIApplicationGroup %{GLOBAL}

然后重启apache服务。

另外,我在使用elastic beanstalk的wsgi应用时,成功地做了这个

from scipy.optimize import fmin_cg

也许明确你需要的内容会加快导入的速度。

撰写回答