2013-02-13 89 views
2

我開始使用Jython。我注意到,當從命令行執行Jython而不是從Eclipse執行時,sys.path完全不同。導入問題 - 我的Jython是否正確安裝?

命令行

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

我在Eclipse中添加jython.jar到Java構建使用 「添加JAR文件」 按鈕路徑。我寫了一個簡單的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腳本。我總是得到導入錯誤:沒有模塊名爲...

所以我在這包含我的主目錄中創建一個名爲.jython文件:

python.path=/jproject/extras/2.5.3/Lib:/jproject/extras/2.5.3/Lib/site-packages 

這似乎解決進口問題。但是,這是繼續進行的正確方法嗎?

我想我不必手動完成最後一步,可能我安裝的Jython很差。

回答

1

貌似我已經在我的問題here描述同一個問題:

我想出解決的辦法是workaround不需要來自用戶的任何操作設置python.path:基本上我添加代碼,設置在初始化jython環境之前將python.path指向應用程序工作目錄(user.path)。