Python スクリプトから Java アプリケーションを呼び出そうとしています。Java をインストールしたとき、このフォルダーjava.exe
にプログラムが追加された場合c:\windows\system32
、このフォルダーはPATH
環境変数に含まれます。
ランニング
import subprocess
import os
subprocess.call("java") //or "c:/windows/system32/java.exe"
結果は
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "c:\Program Files (x86)\Quantum GIS Lisboa\apps\Python27\Lib\subprocess.py", line 493, in call
return Popen(*popenargs, **kwargs).wait()
File "c:\Program Files (x86)\Quantum GIS Lisboa\apps\Python27\Lib\subprocess.py", line 679, in __init__
errread, errwrite)
File "c:\Program Files (x86)\Quantum GIS Lisboa\apps\Python27\Lib\subprocess.py", line 893, in _execute_child
startupinfo)
WindowsError: [Error 2] Het systeem kan het opgegeven bestand niet vinden
もう少し調べcmd
て、同じ方法でコンソール ( ) を実行してみました。dir c:\windows\system32
そのコンソールで を実行すると、java.exe
リストに表示されません! 実際、「通常の」コンソールから同じコマンドを実行する場合と比較して、多数のファイルがリストされていません。
まったく同じワークフローが別のコンピューターでも機能するため、何が原因なのかわかりません。system32 フォルダー内の実行可能ファイルではなく、Java インストールを直接呼び出すことで問題を回避できることはわかっていますが、この問題の根本を突き止めたいと考えています。
この問題は Quantum Gis プラグインで発生しています。Quantum Gis は付属の python インストールを使用するため、自分で python をインストールしませんでした。リストされている python バージョンは、「2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on Win32」です。Windows 7 Professional を実行しています。