conda环境安装tensorflow-gpu2.6后导入报错找不到libcudart.so.11.0如何解决
问题原因
- 动态库搜索路径未配置:默认情况下Linux系统不会自动将conda虚拟环境的
lib目录加入动态库搜索路径LD_LIBRARY_PATH,即便库文件实际存在,程序加载时也无法定位到对应文件 - 环境未正确激活:未执行
conda activate tf2.6就直接运行Python,此时系统调用的是全局或其他环境的Python,自然无法读取tf2.6环境下的库文件 - 解释器配置错误:IDE中选择的Python解释器不属于tf2.6环境,会出现和未激活环境一致的加载失败问题
- 包版本兼容性问题:当前源安装的tensorflow-gpu 2.6包与conda安装的cudatoolkit版本绑定逻辑存在异常,导致加载路径不匹配
解决步骤
- 先验证基础激活逻辑
执行如下命令依次检查:
conda activate tf2.6 # 确认Python路径属于tf2.6环境,输出路径应包含tf2.6字段 which python # 临时添加环境库路径后测试导入 export LD_LIBRARY_PATH=$CONDA_PREFIX/lib:$LD_LIBRARY_PATH python -c "import tensorflow as tf;print(tf.__version__)"
如果上述命令执行无报错,说明是动态库路径配置问题,可通过后续步骤永久生效
- 永久配置conda环境动态库路径
在tf2.6激活环境的状态下执行如下操作:
# 创建激活脚本目录,已存在则跳过 mkdir -p $CONDA_PREFIX/etc/conda/activate.d # 写入路径配置 echo "export LD_LIBRARY_PATH=$CONDA_PREFIX/lib:\$LD_LIBRARY_PATH" > $CONDA_PREFIX/etc/conda/activate.d/cuda_lib_path.sh
后续每次激活tf2.6环境时,都会自动将对应lib目录加入动态库搜索路径,无需手动配置
- 修复包兼容性问题
如果上述操作仍报错,可替换安装源重新安装tensorflow:
conda remove tensorflow-gpu cudatoolkit cudnn conda install -c conda-forge tensorflow-gpu=2.6 cudatoolkit=11.2 cudnn=8.1
tf2.6官方匹配的CUDA版本为11.2、cudnn版本为8.1,手动指定版本可避免版本不匹配问题
- 修正IDE解释器配置
若在PyCharm、VSCode等IDE中运行代码,打开解释器设置,手动选择tf2.6环境目录下的bin/python可执行文件作为项目解释器即可
内容的提问来源于stack exchange,提问作者wangwei
相关产品推荐
相关产品推荐

