2

Jythonを使い始めました。sys.pathJythonをコマンドラインから実行する場合と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を正しくインストールしていません。

4

1 に答える 1

1

ここの質問で同じ問題が説明されているようです:

私が思いついた解決策は、python.pathを設定するためにユーザーからのアクションを必要としない回避策です。基本的に、jython環境を初期化する前にpython.pathをアプリケーションの作業ディレクトリ(user.path)に設定するコードを追加しました。

于 2013-02-17T19:38:25.750 に答える