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

Conda环境已安装cuda-cudart仍报错import tensorflow找不到libcudart.so.11.0

核心原因

你的Conda安装本身没有异常,该问题是两个适配问题共同导致的:

  1. NVIDIA官方频道发布的CUDA套件包,默认不会主动将$CONDA_PREFIX/lib路径添加到LD_LIBRARY_PATH环境变量中,和conda-forge源过去的cudatoolkit包逻辑不同。只有完整触发Conda的激活逻辑、且包本身自带对应变量配置脚本时才会自动添加库路径,NVIDIA官方CUDA包目前没有内置该配置。
  2. PyPI源的TensorFlow没有适配Conda环境的库路径逻辑,只会搜索系统默认路径和LD_LIBRARY_PATH内的路径;而Conda源的TensorFlow会内置Conda路径适配补丁,不需要手动配置库路径。
    另外如果你没有执行过conda init对应shell(比如bash/zsh)、或者使用source activate而非conda activate激活环境,也只会修改PATH变量,不会加载完整的环境变量配置。

永久解决方案

你可以根据自己的需求选择任意一种方案:

方案1:给Conda环境添加激活/退出脚本

这是对你现有配置改动最小的方案,只会在激活对应环境时修改LD_LIBRARY_PATH,退出后自动恢复:

  1. 激活目标环境后执行以下命令创建激活脚本:
mkdir -p $CONDA_PREFIX/etc/conda/activate.d
cat > $CONDA_PREFIX/etc/conda/activate.d/env_vars.sh << 'EOF'
export OLD_LD_LIBRARY_PATH=${LD_LIBRARY_PATH:-}
export LD_LIBRARY_PATH=$CONDA_PREFIX/lib:$LD_LIBRARY_PATH
EOF
  1. 再创建对应的退出恢复脚本:
mkdir -p $CONDA_PREFIX/etc/conda/deactivate.d
cat > $CONDA_PREFIX/etc/conda/deactivate.d/env_vars.sh << 'EOF'
export LD_LIBRARY_PATH=${OLD_LD_LIBRARY_PATH:-}
unset OLD_LD_LIBRARY_PATH
EOF

方案2:替换为Conda源的TensorFlow

卸载PyPI版本的TensorFlow,安装Conda源适配后的版本,无需手动修改环境变量:

pip uninstall -y tensorflow tensorflow-estimator tensorflow-hub tensorflow-io-gcs-filesystem
conda install -c conda-forge tensorflow==2.7.0

方案3:使用conda run执行代码

不需要修改任何配置,运行代码时用conda run命令自动加载完整环境变量:

conda run -n env-name python 你的脚本路径.py

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 14:54:10