2013-10-29 3 views
0

mod_wsgi가있는 Apache에서 BottlePy를 사용하려고합니다.BottlePy에 잘못된 구문이 있습니까?

app.wsgi :

#!/usr/bin/python27 
from bottle import route, default_app 
from wbem.models import Host 

@route('/') 
def index(): 
    return "Home Page" 

os.chdir(os.path.dirname(__file__)) 
application = default_app() 

는 그러나, 나는이 오류 얻을 수가 : 일부 전문가는이 되거 수 있다면

mod_wsgi (pid=8850): Target WSGI script '/u/apps/wbem/app.wsgi' cannot be loaded as  Python module. 
[Wed Oct 30 09:35:17 2013] [error] [client 10.10.65.19] mod_wsgi (pid=8850): Exception occurred processing WSGI script '/u/apps/wbem/app.wsgi'. 
[Wed Oct 30 09:35:17 2013] [error] [client 10.10.65.19] Traceback (most recent call last): 
[Wed Oct 30 09:35:17 2013] [error] [client 10.10.65.19] File "/u/apps/wbem/app.wsgi", line 2, in ? 
[Wed Oct 30 09:35:17 2013] [error] [client 10.10.65.19]  from bottle import route, default_app 
[Wed Oct 30 09:35:17 2013] [error] [client 10.10.65.19] File "/usr/local/lib/python2.7/site-packages/bottle.py", line 113 
[Wed Oct 30 09:35:17 2013] [error] [client 10.10.65.19]  return s.encode(enc) if isinstance(s, unicode) else bytes(s) 
[Wed Oct 30 09:35:17 2013] [error] [client 10.10.65.19]       ^
[Wed Oct 30 09:35:17 2013] [error] [client 10.10.65.19] SyntaxError: invalid syntax 

를 부탁드립니다 :)

답변

0

귀하의 mod_wsgi에가 이전 버전의 Python (2.4 이하)을 사용합니다. 이와 mod_wsgi에를 다시 작성하거나 필요 : (IMO 더 나은 연습, 어쨌든)

./configure --with-python=/usr/local/python27 

또는 (그러나 아래의 편집 참조) 자신의 디렉토리로 python27 실행 파일을 이동 한 다음 아파치 WSGI의 설정이 포함됩니다 :

WSGIPythonHome /usr/local/bin/python2.7 # directory of your Python 2.7 

자세한 내용은 here입니다.

희망이 도움이됩니다.


EDIT : Per GrahamDumpleton의 의견에 따르면 WSGIPythonHome을 설정하는 것이 반드시 도움이되지는 않습니다. 제 생각에는 mod_wsgi에게 Python 설치가 비표준 위치에있을 때 (즉, 아파치가 가져 오는 PATH에 일반적으로 없을 것임) mod_wsgi에게 약간 다른 문제 양식을 해결하도록 고안되었습니다.

+0

나는 당신이 맞다고 말할 것입니다. 단지 Python 버전 등의 관리에 대한 논쟁이있었습니다. * 한숨 * - 도와 줘서 고마워. –

+0

감사합니다. 그리고 문제가 쉽게 기술적 인 문제에서 첨예 한 사람들의 문제로 바뀌 었다는 소식을 듣고 유감스럽게 생각합니다. :) 건배! –

+0

WSGIPythonHome을 사용하여 mod_wsgi가 컴파일 된 것과 다른 Python 런타임 버전을 사용하게 할 수 없습니다. 그것은 컴파일 된 버전에 영원히 유선 연결되며 올바른 Python 버전에 대해 다시 컴파일해야합니다. 따라서 파이썬 2.4 용으로 컴파일 된 경우 mod_wsgi가 파이썬 2.7을 사용하도록 강요 할 수 없습니다. 따라서 두 번째 제안은이 맥락에서 의심 스럽습니다. –

관련 문제