1. 程式人生 > >Java呼叫python,出現“無法解析的編譯問題,PythonInterpreter無法解析為型別”

Java呼叫python,出現“無法解析的編譯問題,PythonInterpreter無法解析為型別”

在Java專案檔案中,想要呼叫python處理的一些結果,可以使用jython jar包,可以在http://www.jython.org/downloads.html下載最新的jar包來使用,追求穩定的話可以選擇較低一些的版本。
下載後放入專案工程目錄中並配置,編寫了一個測試程式碼如下:

import org.python.util.PythonInterpreter;
import org.python.core.PyException;  
public class myTest {

    /**
     * test
     */
     public static void main
(String[] args) throws PyException { PythonInterpreter interp = new PythonInterpreter(); interp.execfile("python/tt.py"); interp.close(); } }

點選執行後報了一個錯誤:Exception in thread “main” java.lang.Error:無法解析的編譯問題:PythonInterpreter無法解析為型別 語法錯誤……,如下:
這裡寫圖片描述
根據提示,可以判斷是jython直譯器出了問題,選擇eclipse->Windows->preference->PyDev->Interpreter->Jython Interpreter,點選新建,將下載的jython jar包新增進去,如圖:
這裡寫圖片描述


完成後 ,再點選執行,就可以出現對python語句的處理了,如圖:
這裡寫圖片描述
出現了tt.py中的輸出語句,這裡出現了對字元編碼的警告,暫時沒見到有效的方法處理,將版本降低到2.5後則不再提示。