导入scipy.optimize时应用超时
我正在尝试在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
也许明确你需要的内容会加快导入的速度。