【问题标题】:jpype.getDefaultJVMPath() fails when I try accessing JVM from python3当我尝试从 python3 访问 JVM 时,jpype.getDefaultJVMPath() 失败
【发布时间】:2020-06-08 23:09:44
【问题描述】:

我目前在windows10上使用Python3、java8、jpype 0.6.3版本。 jpype.getDefaultJVMPath() 失败并出现错误:

raise JVMNotFoundException("No JVM shared library file ({0}) "
jpype._jvmfinder.JVMNotFoundException: No JVM shared library file (jvm.dll) found. Try setting up the JAVA_HOME environment variable properly.

我的JAVA_HOME 指向C:\Program Files (x86)\Java\jdk1.8.0_241

如果我尝试通过传递 jvm.dll path("C:\Program Files (x86)\Java\jdk1.8.0_241\jre\bin\client\jvm.dll) 直接启动 JVM,python 程序会崩溃。 我已经给了 .dll 文件的可执行权限

谁能帮我解决上述系统规格的问题

【问题讨论】:

    标签: jvm jpype


    【解决方案1】:

    您的 JVM 架构(32 位)可能与您的 Python(64 位)不匹配。这会导致您所描述的症状。

    【讨论】:

    • 如何检查 JVM 和 Python 是否匹配?
    • 在 jpype repo 的 project/debug 目录下有如何调试这个问题的详细说明。不幸的是,完整的说明取决于机器的类型并且相当复杂,所以我不能在这里发布它们。
    【解决方案2】:

    事实证明,我使用的共享代码需要其中一个驱动程序的特定版本。我仍然无法完全理解为什么会这样,但是使用较旧的驱动程序版本(来自同事)一切正常!

    【讨论】:

      猜你喜欢
      • 2012-11-07
      • 2011-07-08
      • 2015-08-19
      • 2016-08-26
      • 1970-01-01
      • 1970-01-01
      • 2019-08-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多