2011-08-08 3 views
0

django1.3을 사용하고 있습니다. CentOS5에서. 내 파이썬 버전은 2.6이고 numpy 1.6.1을 사용한다. 회귀선을 계산하는 함수는 views.py에서 사용했다. 샘플 코드 :numval을 사용하여 polyval, polyfit을 사용할 때 웹 페이지를로드 할 때 문제가 발생했습니다.

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 ... 

브라우저에서 페이지를 불러 오면로드 할 수 없습니다. 하지만 그것은 장고 함께 제공되는 기본 개발 서버와 Windows에서 잘 작동합니다. 누구든지 코드에 실수가 있음을 알 수 있습니까? 또는 나는 무엇인가 놓치 느냐? 고맙습니다.

+1

<집중적 인 하드> ... 아니요, 제 정신적 인 비전이 효과가 없으므로 오류 메시지가 표시되지 않습니다. 여기에 게시 하시겠습니까? –

+1

서버 종속적 인 경우에는 문제가되지 않습니다. – rocksportrocker

+0

polyval, polyfit는 서버 컴퓨터 (이 경우에는 centos)의 python 명령 줄에서 작동합니다. 그러나 웹 페이지에서로드하려고 시도 할 때 브라우저가 페이지를로드하는 것을 계속하면 아무 일도 일어나지 않습니다. 그것의 오류를 complaning, 그래서이 사건에서 해야할지 모르겠다. – user777177

답변

0

나는 현재 유사한 문제 (젠투, 파이썬 2.7, NumPy와 1.6.0)을 조사하고 있습니다, 그것은 만 WSGI에 보일 것입니다, 다음 NumPy와 코드 차단 끝 :

eps = np.finfo(float).eps 

help page for finfo는 말합니다 :

NumPy 개발자는 모듈 수준에서 이것을 인스턴스화하지 마십시오. 이러한 매개 변수의 초기 계산은 비용이 많이 들고 가져 오기 시간에 부정적인 영향을줍니다. 이러한 객체는 캐시되므로 함수 내에서 finfo()를 반복적으로 호출하는 것은 문제가되지 않습니다.

Numpy 1.5.1로 다운 그레이드하는 것이이 문제를 해결 한 것으로 보입니다.

+0

WSGI를 말할 때 Apache/mod_wsgi를 의미합니까? 그렇다면 http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Python_Simplified_GIL_State_API를 읽고 통역사를 재정의하십시오. –

+0

문제를 확인해 주셔서 감사합니다. 나는 이것이 지금까지는 이유일지도 모른다고 생각했지만 그것에 대해 언급하는 것을 찾지 못했습니다. 아마도 임시 해결책 인 polyval 또는 polyfit 함수를 사용하지 않고 문제를 시도했습니다. – user777177

1

httpd.conf 파일에 WSGIApplicationGroup 지시어를 추가해야합니다.

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