JPype 是 Python調用 Java 代碼的模塊,需要Java SE Runtime Environment (JRE)的支持。
個人安裝環境: Windows 7 64bit + Python 2.7 32bit + JRE 32bit
下載安裝
下載 JPype-0.5.4.2.win32-py2.7.exe ,
https://sourceforge.net/projects/jpype/files/JPype/0.5.4/
雙擊按默認安裝,即可。
測試代碼
import jpype jvmPath = jpype.getDefaultJVMPath() jpype.startJVM(jvmPath) jpype.java.lang.System.out.println("hello world!") jpype.shutdownJVM()
問題與解決方法
問題:jpype.getDefaultJVMPath() returns None
原因:64bit java 與 32bit python 混用
解決方法:
下載 32bit JRE
http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html,
選擇下載
Windows x86 59.43 MB jre-8u111-windows-i586.tar.gz
下載后,解壓到某一目錄下,以 E:\ 目錄為例,在測試代碼中,
不使用jpype.getDefaultJVMPath() 函數獲取jvm路徑,而采用自定義jvm目錄,如下所示
import jpype # jvmPath = jpype.getDefaultJVMPath()
jvmPath = ur'E:\\jre1.8.0_111\\bin\\client\\jvm.dll' jpype.startJVM(jvmPath) jpype.java.lang.System.out.println("hello world!") jpype.shutdownJVM()
參考資料
1、JPype: Bridging the worlds of Java and Python
http://jpype.sourceforge.net/
2、JPype的安裝與使用
http://www.ibm.com/developerworks/cn/opensource/os-cn-jpype/
3、jpype.getDefaultJVMPath() returns None #118
https://github.com/originell/jpype/issues/118