0
커스텀 빌트인 argv리스트로 다른 파이썬 스크립트의 main() 함수를 호출하는 mod_python 퍼블리셔 함수를 사용합니다. 셸 명령 줄에서 게시자 스크립트를 실행하면 작동합니다. 하지만 mod_python으로 apache2를 사용해 보았을 때 main (은)는 인수를 취하지 않는 에러 (아래와 같이)가 발생했습니다.mod_python.publisher의 인수를 사용하여 파이썬 스크립트의 main()을 호출하는 방법은 무엇입니까?
File "/var/www/wabaServ/waba.py", line 15, in index
aba.main([ "aba.py","-i", "-b"])
TypeError: main() takes no arguments (1 given)
주() aba.py에 다음과 같이 정의된다
이def main(argv=None):
--code--
가 참고 : 목록 인수가 전달되지 않은 경우이 aba.main()가 실행됩니다 mod_python.
이import sys
sys.path.append("/u/scripts")
import aba
from cStringIO import StringIO
def index():
old_stdout = sys.stdout
sys.stdout = mystdout = StringIO()
aba.main([ "aba.py","-i", "-b"])
sys.stdout = old_stdout
return(mystdout.getvalue())
'main'의 바인딩을 변경하는 다른 코드 (아마도'aba.py '에 있음)가 있어야합니다. 그렇지 않으면 설명하는 증상은 불가능합니다. –
또는'mod_python'에 설정 문제가 있습니다. 실제로 실행중인 것으로 주장하는 것을 실행하고 있지 않습니다. 'sys.path' 파일을 로깅 파일에 덤프하여 실제로 실행해야한다고 생각하는 것을 실행하고 있는지 확인하십시오. –