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

LD_LIBRARY_PATH路径重复拼接 libcudart.so.11.0加载失败问题修复

问题根因

你遇到的是两个独立的问题,互不影响:

  • LD_LIBRARY_PATH路径重复:.bashrc会在终端启动、图形会话加载、手动source等多个场景被重复执行,你原来的配置每次执行都会无条件在已有路径后面追加mujoco和nvidia的路径,加载几次就会重复几次,属于配置写法不严谨导致的冗余问题,不影响程序运行。
  • libcudart.so.11.0加载报错:这个是警告级别的日志,不是致命错误。envpool官方发布的预编译包默认基于CUDA 11.0构建,启动时会优先尝试加载CUDA运行时库走GPU加速,加载失败就会自动回退到CPU后端,所以你的代码可以正常运行输出结果,只是打印了加载失败的提示。另外你贴的.bashrc配置里mujoco路径写错了,多打了一个点:写的是/home/user/.mujoco.mujoco210/bin,正确路径应为/home/user/.mujoco/mujoco210/bin,之前的mujoco路径配置实际是无效的。
修复方案

1. 解决libcudart.so.11.0加载警告

根据自己的使用场景二选一即可:

  • 如果你需要用GPU跑环境:
    先确认本地安装的CUDA版本:
    • 如果是CUDA 11.x系列:先找到libcudart.so的实际存放路径(一般在/usr/local/cuda-xx.x/lib64目录下),把该路径加到LD_LIBRARY_PATH中即可。如果安装的是11.x的非11.0小版本(比如11.3、11.7),11.x系列的cudart是二进制兼容的,直接执行下面的命令创建软链接就能解决:
      sudo ln -s /usr/local/cuda/lib64/libcudart.so.11.* /usr/lib/libcudart.so.11.0
      
    • 如果是CUDA 12及以上版本:要么安装CUDA 11.x对应版本,要么拉取envpool源码本地编译适配当前CUDA版本。
  • 如果你只用CPU跑环境:
    这个警告本身不影响功能,嫌日志冗余的话,在导入envpool之前加一行环境变量指定走CPU后端即可,不会再触发CUDA库加载逻辑:
    import os
    os.environ["ENVPOOL_BACKEND"] = "cpu"
    import envpool
    

2. 解决LD_LIBRARY_PATH重复拼接问题

把.bashrc里原来的LD_LIBRARY_PATH配置替换成带重复判断的写法,避免重复追加:

export PATH
# 待添加的自定义库路径
_add_ld_paths=(
  "/home/user/.mujoco/mujoco210/bin"
  "/usr/lib/nvidia"
)
for target_path in "${_add_ld_paths[@]}"; do
  # 仅当路径存在、且未被加入LD_LIBRARY_PATH时才追加
  if [ -d "$target_path" ] && [[ ":$LD_LIBRARY_PATH:" != *":$target_path:"* ]]; then
    export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${target_path}"
  fi
done
unset _add_ld_paths target_path

修改完成后执行source ~/.bashrc,多次执行后再用echo $LD_LIBRARY_PATH验证,不会再出现路径重复的问题。

注:你贴的示例代码里有个笔误act - np.zeros((100, 6)),正确写法应为act = np.zeros((100, 6)),如果后续跑代码报语法错误可以先检查这里。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 11:45:35