You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac ARM架构运行JPype时JVM DLL未找到错误求助

解决JPype找不到JVM DLL的问题

针对你遇到的FileNotFoundError: [Errno 2] JVM DLL not found: /Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home/lib/libjli.dylib错误,尝试以下方案:

  • 先确认文件是否真实存在
    打开终端执行命令,检查报错路径里的文件是否存在:

    ls /Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home/lib/libjli.dylib
    

    如果返回"No such file or directory",说明JDK安装不完整,重新下载安装官方JDK 21。

  • 在虚拟环境中手动指定JVM路径
    跳过自动检测,直接在代码中指定JVM的核心文件路径(通常位于lib/server/libjvm.dylib):

    import jpype
    # 替换为你的JDK实际路径
    jpype.startJVM("/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home/lib/server/libjvm.dylib")
    
  • 修复虚拟环境的环境变量
    激活Anaconda虚拟环境后,手动配置环境变量,确保虚拟环境能读取到JDK路径:

    conda activate 你的虚拟环境名
    export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home
    export PATH=$JAVA_HOME/bin:$PATH
    export DYLD_LIBRARY_PATH=$JAVA_HOME/lib:$DYLD_LIBRARY_PATH
    

    执行完后再运行你的Python代码。

  • 检查JPype版本兼容性
    JDK 21是较新的版本,部分JPype版本可能存在兼容问题,尝试安装稳定兼容版:

    conda activate 你的虚拟环境名
    pip uninstall jpype1 -y
    pip install jpype1==1.4.1
    
  • 解除macOS安全隔离限制
    如果JDK文件被系统标记为隔离状态,会导致无法读取,执行命令解除:

    xattr -d com.apple.quarantine /Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home/lib/libjli.dylib
    

内容的提问来源于stack exchange,提问作者citizenfour

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 18:14:55