【问题标题】:Problem in loading web page when using polyval, polyfit using numpy使用polyval时加载网页的问题,使用numpy的polyfit
【发布时间】:2011-10-22 08:47:25
【问题描述】:

我正在使用 django1.3。在 CentOS5 中。我的 python 版本是 2.6 并使用 numpy 1.6.1 我在 views.py 中使用了一个计算回归线的函数。示例代码:

from numpy import *
....
def test_func(request):
   n=50
   t=linspace(-5,5,n)
   #parameters
   a=0.8; b=-4
   x=polyval([a,b],t)
   #add some noise
   xn=x+randn(n)

   #Linear regressison -polyfit - polyfit can be used other orders polys
   (ar,br)=polyfit(t,xn,1)
   xr=polyval([ar,br],t)

 return ...

如果我在浏览器中调用页面,则无法加载。但它在带有 django 附带的默认开发服务器的 Windows 中运行良好。 谁能告诉代码中是否有任何错误。还是我错过了什么? 提前致谢。

【问题讨论】:

  • ...不,我的通灵视觉不起作用,我似乎看不到您的错误信息。你介意把它们贴在这里吗?
  • 如果这取决于服务器,那不是 numpy 问题。
  • polyval,polyfit 与服务器计算机中的 python 命令行一起工作(在本例中为 centos)。但是当我尝试加载网页时,浏览器只是继续加载页面,没有其他任何事情发生。它没有抱怨任何错误,所以我不知道在这种情况下该怎么办。

标签: python django numpy centos django-wsgi


【解决方案1】:

您需要将WSGIApplicationGroup 指令添加到您的httpd.conf 文件中。

<Directory /www/django/apache>
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
</Directory>

【讨论】:

    【解决方案2】:

    我目前正在调查类似的问题(Gentoo、Python 2.7、Numpy 1.6.0),似乎仅在 wsgi 中,以下 numpy 代码最终会阻塞:

    eps = np.finfo(float).eps
    

    help page for finfo 说:

    对于 NumPy 的开发人员:不要在模块级别实例化它。这些参数的初始计算成本很高,并且会对导入时间产生负面影响。这些对象是缓存的,所以在你的函数中重复调用 finfo() 不是问题。

    不确定这里发生了什么,但降级到 Numpy 1.5.1 似乎已经解决了这个问题。

    【讨论】:

    • 当你说 WSGI 是指 Apache/mod_wsgi 吗?如果是这样,请阅读code.google.com/p/modwsgi/wiki/… 并尝试覆盖解释器。
    • 感谢您发现问题。到目前为止,我还认为这可能是一个原因,但我没有找到任何提及它的内容。我在没有使用这些函数 polyval 或 polyfit 的情况下尝试了我的问题,这可能是一个临时解决方案。
    猜你喜欢
    • 2013-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-31
    • 2018-02-15
    • 1970-01-01
    相关资源
    最近更新 更多