python main.pyを呼び出すとコンソールからうまく機能する別のスクリプトの問題を抱えています(test3.py )しかし、私はウェブサーバ経由でそれを行う際には、不可解なWebサーバー経由でサブプロセスモジュールを使用して別のpythonスクリプトを実行できないのはなぜですか?
である私は、この(TEST3がちょうどプリントである...)
#proc = subprocess.Popen(['python', 'test3.py'], stdout=subprocess.PIPE)
を呼び出すことはできませんが、これは罰金
を働き、それ以下のエラーを与えますproc = subprocess.Popen(['ls', '-la'], stdout=subprocess.PIPE)
エラーログは、FreeBSD
[Thu Mar 01 12:26:55 2012] [error] [client 64.102.194.61] Traceback (most recent call last):
[Thu Mar 01 12:26:55 2012] [error] [client 64.102.194.61] File "/usr/local/www/apache22/data/main2.py", line 22, in <module>
[Thu Mar 01 12:26:55 2012] [error] [client 64.102.194.61]
[Thu Mar 01 12:26:55 2012] [error] [client 64.102.194.61] proc = subprocess.Popen(['python', 'test3.py'], stdout=subprocess.PIPE)
[Thu Mar 01 12:26:55 2012] [error] [client 64.102.194.61] File "/usr/local/lib/python2.7/subprocess.py", line 679, in __init__
[Thu Mar 01 12:26:55 2012] [error] [client 64.102.194.61]
[Thu Mar 01 12:26:55 2012] [error] [client 64.102.194.61] errread, errwrite)
[Thu Mar 01 12:26:55 2012] [error] [client 64.102.194.61] File "/usr/local/lib/python2.7/subprocess.py", line 1228, in _execute_child
[Thu Mar 01 12:26:55 2012] [error] [client 64.102.194.61]
[Thu Mar 01 12:26:55 2012] [error] [client 64.102.194.61] raise child_exception
[Thu Mar 01 12:26:55 2012] [error] [client 64.102.194.61] OSError
[Thu Mar 01 12:26:55 2012] [error] [client 64.102.194.61] :
[Thu Mar 01 12:26:55 2012] [error] [client 64.102.194.61] [Errno 2] No such file or directory
[Thu Mar 01 12:26:55 2012] [error] [client 64.102.194.61]
[Thu Mar 01 12:26:55 2012] [error] [client 64.102.194.61] File does not exist: /usr/local/www/apache22/data/favicon.ico
これでした。私はパスが既に正しい(私はコンソールの行にPythonを入力することができ、Pythonが出てきますが)このb/c私は見逃しましたが、実際にはWebサーバーにとって間違っています!これがどう違うか分かりませんが、読書をしなければなりません。 FreeBSDでこれを行うための提案が役に立ちます。私のパスはFreeBSD上の/ usr/local/bin/pythonです。魅力のように動作します...私はまだチェックマークをクリックさせませんので、長い間b/cを入力して.... 20秒...これを行うことができます –