安装卸载tensorflow-graphics-gpu后导入tf/PyTorch报段错误如何解决
解决方案
问题根因
安装tensorflow-graphics-gpu时,pip自动升级了tensorflow、numpy、CUDA相关依赖包到与系统CUDA 11.1不兼容的版本,卸载时未将这些依赖回滚到原有版本,导致导入框架时动态库调用冲突触发段错误。
修复步骤(所有操作无需root权限)
方案一:回滚用户空间依赖(推荐,不改动现有环境结构)
- 卸载用户空间所有相关冲突包,仅删除个人目录下的安装包,不会影响系统级依赖:
pip uninstall --user tensorflow tensorflow-gpu torch torchvision torchaudio numpy cudnn-cu* cuda-python -y
- 安装与CUDA 11.1匹配的官方兼容版本:
- 安装TensorFlow:
pip install --user tensorflow==2.6.0 tensorflow-gpu==2.6.0 numpy==1.19.5
- 安装PyTorch:
pip install --user torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html
- 清理残留缓存:
pip cache purge rm -rf ~/.cache/pip ~/.keras ~/.torch ~/*/__pycache__
- 验证修复效果:
# 验证TensorFlow python3 -c "import tensorflow as tf; print('TensorFlow版本:', tf.__version__)" # 验证PyTorch python3 -c "import torch; print('PyTorch CUDA可用:', torch.cuda.is_available())"
方案二:使用虚拟环境完全隔离依赖(彻底解决冲突)
如果方案一无效,可创建完全独立于系统的Python虚拟环境,所有依赖都安装在虚拟环境内,不会和系统/用户空间的现有包冲突:
- 安装虚拟环境工具:
pip install --user virtualenv
- 创建并激活虚拟环境:
# 创建虚拟环境到用户目录 virtualenv ~/ml_env # 激活虚拟环境 source ~/ml_env/bin/activate
- 激活后直接安装需要的任意版本框架即可,不需要加
--user参数,所有包都会安装在虚拟环境目录内。
额外排查项
如果执行上述操作后仍有问题,检查LD_LIBRARY_PATH环境变量是否优先加载了用户目录下的不兼容CUDA库,将系统CUDA路径置前即可:
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64:$LD_LIBRARY_PATH
内容的提问来源于stack exchange,提问作者zzzhhh
相关产品推荐
相关产品推荐

