2010-03-04 3 views
1

CentOS5를 사용하여 Apache에 다음 지시문을 구성했습니다. Python 2.4를 사용하는 Apache, Python 2.5 스크립트가 실패한

Alias /pscript/ /var/www/pscript/ 
<Directory "/var/www/pscript/"> 
    Options +ExecCGI 
    DirectoryIndex thetest.py 
    AddHandler cgi-script .py 
</Directory> 

내가 www.domain.com/pscript/ 전화

는 내 파이썬 스크립트를 실행하고 python2.4를 표시 내 sys.path를 출력합니다.

내가 파이썬 2.5을 필요로하는 다른 스크립트 호출

, 나는 500 내부 서버 오류가 발생합니다. 명령 줄에서

[Wed Mar 03 16:58:44 2010] [error] [client 000.000.000.000] Please use Python 2.5 or greater 

, python -V 반환 Python 2.5.5을 실행 :

내 아파치의 error_log 보면, 나는 다음 줄을 참조하십시오. 2.4와 2.5.5가 모두 설치되어 있지만 2.5.5 만 사용해야합니다. 나는 안전을 위해 파이썬 2.5.5 컴파일 및 공유 라이브러리를 사용하도록 설정해야했다 아파치 문제를 해결하기위한 시도에서

. 그런 다음 mod_python을 재 컴파일하여 뭔가 영향을 주었을 때도 내 sys.path은 여전히 ​​python2.4입니다. 궁금

, 나는 아파치 자체 2.2.3 다시 컴파일해야합니까? 아파치가 Python 2.5.5를 사용하기 만하면됩니다.

미리 감사드립니다.

답변

3

파이썬 스크립트와 같은 첫 번째 줄 뭔가가 있습니까 : 다른 파이썬 실행 파일을 실행하는 명령 줄에서 직접 python을 실행하는 동안

#!/usr/bin/python 

그렇다면를, 어쩌면 /usr/bin/python (버전 2.5) 파이썬 버전 2.4입니다 당신의 경로에있는 다른 곳에서. 시도 : 명령 줄에서 python을 실행할 때

which python 

실행 파일이 실행되는 것을 볼 수 있습니다.

+0

커맨드 라인에서 나는 파이썬 2.5.5 인스톨 인/usr/local/bin/python을 얻는다. – Structure

+0

파이썬 스크립트의 상단에'#!/usr/local/bin/python'이 있습니까? –

+0

그게 전부 였어. 스크립트는/usr/bin/env를 호출하여 python을 호출했습니다. 틀린 것을 부르고 있었을 것입니다. 스크립트를'#!/usr/local/bin/python'으로 업데이트했고'sys.path'를 출력하면 올바른 버전을 사용하고 있음을 알 수 있습니다. 고맙습니다! – Structure

관련 문제