提示A fatal error has been detected by the Java Runtime Environment:

好几个月没用pyhanlp了,之前只可以用的,现在提示这个怎么办?
我是mac系统,pip install pyhanlp 也提示安装成功了,

python 3.8.12

可能你中途升级了Java,下面这个版本绝对可用:

java -version    
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

我用jupyter,每次载入pyhanlp库就提示我内核挂掉
下好了之后我按装,进入终端输入export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home


还是原来的java版本


还是原来的版本
用了 export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home


装好了这个版本,一导入这个库还是提示内核挂掉

解决了,

  1. 终端输入vim ~/.zshrc

  2. 按i进入编辑,输入这两行

export JAVA_HOME=/Library/Java/JavaVirtualMachines/要选用的jdk文件/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
  1. 按esc退出,输入:wq保存退出,在输入source ~/.zshrc 刷新
  2. java -version就改成你选用的jdk了
    我试了下在原来的python环境还是不行,于是用Anaconda新建了一个python3.8环境,重新安装pyhanlp,再调用,才不会提示内核挂掉

就是在vscode里选同样的环境,jupyter可以运行pyhanlp,用.py文件写的代码就不能运行
报错日志

能帮我看看吗,谢谢

很多类似vscode的GUI程序不会读取zsh的配置文件,所以你写在zsh里面的环境变量不会起作用。有很多解决方法:

  1. 用zsh export 并 echo $JAVA_HOME 确认无误后启动vscode,而不是双击vscode的图标
  2. 其实pyhanlp完全支持openjdk,这个colab可以证明:Google Colab 你要么试试升级你的openjdk,要么直接用colab
  3. 我的经验是oracle的jdk更稳定一些,不如你卸载openjdk,只保留oracle的?

我后来vscode里面安装了java扩展,设置了一下调用的jdk包路径,然后就好使了


谢谢博主

1 Like