2

所以我无法使用JPype编译一个非常简单的 python 脚本。

我的代码如下:

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

我被困住了,我真的需要帮助。谢谢!

4

2 回答 2

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
于 2013-04-11T12:20:31.013 回答
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 时出现类似问题。尽管 JAVA_HOME 系统变量设置正确,但我无法弄清楚如何哄 _darwin.py 代码找到正确的 JVM 位置。

警告 cursor,尝试在 Spyder IPython 控制台中运行上述代码没有产生任何输出,但普通控制台会。

于 2016-09-28T08:18:16.633 回答