Ubuntu远程服务器Python包报错JVMNotFoundException,无法找到libjvm.so
解决JVMNotFoundException的实操步骤
- 先定位
libjvm.so的真实位置
用find命令查找具体路径:
一般它会在find /home/(my name)/.conda/pkgs/openjdk-11.0.1-h516909a_1016/ -name libjvm.solib/amd64/server/这类子目录下,比如可能是/home/(my name)/.conda/pkgs/openjdk-11.0.1-h516909a_1016/lib/server/libjvm.so - 正确配置JAVA_HOME
JAVA_HOME必须指向JDK的根目录,也就是你那个openjdk-11.0.1-h516909a_1016文件夹,不能直接指向libjvm.so文件。执行命令:export JAVA_HOME=/home/(my name)/.conda/pkgs/openjdk-11.0.1-h516909a_1016 - 添加动态库路径
系统需要能找到libjvm.so,所以把它所在的目录加到LD_LIBRARY_PATH里:
假设刚才找到的libjvm.so在$JAVA_HOME/lib/server,就执行:export LD_LIBRARY_PATH=$JAVA_HOME/lib/server:$LD_LIBRARY_PATH - 验证设置是否生效
运行以下命令确认:echo $JAVA_HOME # 检查路径是否正确 echo $LD_LIBRARY_PATH # 确认库路径已添加 ls $JAVA_HOME/lib/server/libjvm.so # 确保文件确实存在 - 让设置永久生效(可选)
如果不想每次登录都重新设置,把上面的两条export命令加到~/.bashrc文件里:- 打开文件:
nano ~/.bashrc - 在文件末尾粘贴:
export JAVA_HOME=/home/(my name)/.conda/pkgs/openjdk-11.0.1-h516909a_1016 export LD_LIBRARY_PATH=$JAVA_HOME/lib/server:$LD_LIBRARY_PATH - 按
Ctrl+O保存,Ctrl+X退出 - 执行
source ~/.bashrc让设置立即生效
- 打开文件:
内容的提问来源于stack exchange,提问作者davizin
相关产品推荐
相关产品推荐

