將新的jython.jar應用於PyDev的正確方法是什麼?更新PyDev中的jython.jar
我希望這個選項可用,因爲我必須在啓動時提供Jython解釋器。使用混合版本可能會導致問題。我預計該解釋器的jython.jar將用於所有內容,而不僅僅是運行獨立的Jython,但似乎並非如此。
我相信org.python.pydev.jython提供了jython.jar的一個版本。 PyDev 2.7.1中這個插件的版本有一個pydev-jython.jar,當我導入這個插件時,它在運行時類路徑上。 (導入也會複製配置好的Jython解釋器的目錄。)
如何讓PyDev使用不同的jython.jar?
這是一些更多的背景信息。
我按照PyDev網站上的說明在Eclipse中安裝PyDev。我已經配置了Jython 2.5.3作爲解釋器。
我可以打開一個Jython控制檯並運行以下命令:
>>> import org.python.core.PySystemState as pss
>>> st = pss()
>>> st.getBuiltins
<bound method <reflected field public org.python.core.PyObject org.python.core.PySystemState.__name__ at 0x1>.getBuiltins of <module 'sys' (built-in)>>
我也沒有問題,從我運行爲Jython運行Python模塊這樣做。
但是,當我嘗試從java訪問getBuiltins時,出現編譯時錯誤,指出方法getBuiltins沒有爲PySystemState定義。由於我廣泛地討論了這個問題,我相信發生的事情是org.python.pydev.jython提供了jython.jar,而解釋器配置僅用於運行Jython解釋器。
顯然,一些jython.jar在我的類路徑中,因爲我在導入org.python.core.PySystemState時沒有收到投訴。這些症狀與沒有Jython 2.5.3的完整API的較舊的jython.jar一致。
任何幫助將不勝感激 - 我不希望再獲得另一個風滾草銅牌! :-)