Jythonを使い始めました。sys.path
Jythonをコマンドラインから実行する場合とEclipseから実行する場合では、まったく異なることに気づきました。
コマンドライン
tk:~$ jython
Jython 2.5.3 (2.5:c56500f08d34+, Aug 13 2012, 14:48:36)
[Java HotSpot(TM) Server VM (Oracle Corporation)] on java1.7.0_10
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print sys.path
['',
'/jproject/extras/2.5.3/Lib',
'__classpath__',
'__pyclasspath__/',
'/jproject/extras/2.5.3/Lib/site-packages']
大丈夫です。そこからすべてをインポートできます(pdbのインポート、csvのインポートなど)。
Eclipse
jython.jar
[JARの追加]ボタンを使用して、EclipseでJavaビルドパスに追加しました。簡単なJavaクラスを作成しました(抜粋):
PythonInterpreter pi = new PythonInterpreter();
pi.exec("import sys");
pi.exec("print sys.path");
出力:
['/jproject/projects/foobar/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/MyProject/WEB-INF/lib/Lib',
'__classpath__',
'__pyclasspath__/']
Javaプロジェクトで作成されたPythonスクリプトからは、何もインポートできません。私はいつもImportErrorを受け取ります:名前の付いたモジュールはありません...
.jython
そこで、ホームディレクトリに次のファイルを作成しました。
python.path=/jproject/extras/2.5.3/Lib:/jproject/extras/2.5.3/Lib/site-packages
インポートの問題は修正されたようです。しかし、これは先に進む正しい方法ですか?
最後のステップを手動で行う必要はないと思います。おそらく、Jythonを正しくインストールしていません。