在 Mac OS X 上使用 JPype 的问题:我尝试启动 JVM,但找不到 DLL,但它就在那里

问题描述 投票:0回答:0

我的 Python 代码是:

import jpype

jvm_path = "/Library/Java/JavaVirtualMachines/microsoft-11.jdk/Contents/Home/lib/jli/libjli.dylib"

jpype.startJVM(
    jvm_path,
    classpath=['~/org.alloytools.alloy.dist.jar'],
)

我收到以下错误:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/Users/<username>/research-llm/alloy-bridge/src/__main__.py", line 5, in <module>
    jpype.startJVM(
  File "/Users/<username>/research-llm/alloy-bridge/.env/lib/python3.10/site-packages/jpype/_core.py", line 224, in startJVM
    _jpype.startup(jvmpath, tuple(args),
FileNotFoundError: [Errno 2] JVM DLL not found: /Library/Java/JavaVirtualMachines/microsoft-11.jdk/Contents/Home/lib/jli/libjli.dylib

一些有用的诊断:

java -version
openjdk version "11.0.12" 2021-07-20
OpenJDK Runtime Environment Microsoft-25199 (build 11.0.12+7)
OpenJDK 64-Bit Server VM Microsoft-25199 (build 11.0.12+7, mixed mode)


javac -version
javac 11.0.12

python --version
Python 3.10.4

pip show jpype1
Name: JPype1 Version: 1.4.1 Summary: A Python to Java bridge. Home-page: https://github.com/jpype-project/jpype Author: Steve Menard Author-email: [email protected] License: License :: OSI Approved :: Apache Software License Location: /Users/username/projects/alloy-bridge/.env/lib/python3.10/site-packages Requires: packaging Required-by:

sw_vers
ProductName: macOS ProductVersion: 13.2.1 BuildVersion: 22D68

鉴于上下文,有人可以指出我的方向吗?我自己尝试了很多,但还不能让它工作。

python java interop alloy jpype
© www.soinside.com 2019 - 2024. All rights reserved.