Python モジュールのラッパーを作成して、Java コードに埋め込もうとしています。
このモジュールは、サブプロセス、スレッド化などの多くのトリックを使用しているようです
(実際には、それ自体が現状のままで提供されるCユーティリティを制御するモジュールであり、バイナリとしてのみ提供されます。このpythonラッパーがすでに提供している内部ロジックやその他のツールを再コーディングするための過大なコストを回避しようとしています)
ちなみに、Java から独自のラッパーをインスタンス化すると、次のようになります。
------------------
Exception in thread "MainThread" Traceback (most recent call last):
File "<string>", line 1, in <module>
File "__pyclasspath__/mywrapper.py", line 303, in <module>
File "C:\jython2.5.2\Lib\subprocess.py", line 375, in <module>
import msvcrt
ImportError: No module named msvcrt
ハードディスクを見ると、msvscrt.py がありません。どこに住んでいると思われますか?
私は私のjythonを起動しています:
PythonInterpreter interpreter = new PythonInterpreter(null, new PySystemState());
PySystemState sys = Py.getSystemState();
sys.path.append(new PyString("C:/jython2.5.2/Lib"));
sys.platform = new PyString("win32"); // this is a trick for the wrapper to not fail on a inner plateform test detection with java1.7.0_03