2013-02-22 62 views
1

所以我在編譯非常簡單的python腳本時遇到了問題,使用JPypeJPype將無法正確編譯

我的代碼是這樣:

from jpype import * 
startJVM(getDefaultJVMPath(), "-ea") 
java.lang.System.out.println("hello world") 
shutdownJVM() 

,當我運行它,我收到一個錯誤說:

Traceback (most recent call last): File "test.py", line 2, in 
<module> 
    startJVM(getDefaultJVMPath(), "-ea") File "/usr/lib/pymodules/python2.7/jpype/_core.py", line 44, in startJVM 
    _jpype.startup(jvm, tuple(args), True) RuntimeError: Unable to load DLL [/usr/java/jre1.5.0_05/lib/i386/client/libjvm.so], error = 
/usr/java/jre1.5.0_05/lib/i386/client/libjvm.so: cannot open shared 
object file: No such file or directory at 
src/native/common/include/jp_platform_linux.h:45 

我堅持,我真的需要幫助。謝謝!

+0

錯誤消息是「沒有這樣的文件或目錄」。你能確認文件「/usr/java/jre1.5.0_05/lib/i386/client/libjvm.so」的存在嗎? – 2013-02-22 17:23:21

回答

1

我有同樣的問題

RuntimeError: Unable to load DLL [/usr/java/jre1.5.0_05/lib/i386/client/libjvm.so], error = /usr/java/jre1.5.0_05/lib/i386/client/libjvm.so: cannot open shared object file: No such file or directory at src/native/common/include/jp_platform_linux.h:45 

在我的情況下錯誤的JAVA_HOME路徑設置

/資料/等

export JAVA_HOME 
JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64 
PATH="$JAVA_HOME/bin:$PATH" 
export PATH 
+0

您在哪裏可以得到它的工作? – 2014-10-29 11:35:41

1

解決方法是直接在定義的完整路徑調用JVM:

from jpype import * 
startJVM('/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/MacOS/libjli.dylib', "-ea", "-Djava.class.path=/tmp/Jpype/sample") 
java.lang.System.out.println("Hello World!!") 
shutdownJVM() 

原始文本:

嘗試在MacOS El Capitan上運行JPype時出現類似問題。我可能 不知道如何哄騙_darwin.py代碼找到正確的JVM 位置,儘管JAVA_HOME系統變量設置正確。

買者光標,試圖運行在Spyder的IPython的控制檯上面的代碼中並沒有產生任何輸出,但正常的控制檯會。