pip 隔离环境内 安装 cuda 113 不覆盖原有的全局 cuda 115

需要先在服务器上安装CUDA 11.3(独立安装,不覆盖现有11.5),之后再按之前的方法配置虚拟环境专属使用CUDA 11.3,以下是完整的CUDA 11.3安装+虚拟环境隔离配置流程

第一步:安装CUDA 11.3(独立路径,保留11.5)

1. 检查依赖(Ubuntu系统为例)
bash 复制代码
# 安装必备依赖
sudo apt update
sudo apt install -y gcc make libxi-dev libxmu-dev libglu1-mesa-dev freeglut3-dev
2. 下载并安装CUDA 11.3
bash 复制代码
# 进入临时目录
cd /tmp
# 下载CUDA 11.3.1安装包(适配x86_64架构,Ubuntu 20.04,其他系统替换链接)
wget https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run

# 添加执行权限
chmod +x cuda_11.3.1_465.19.01_linux.run

# 核心:安装到/usr/local/cuda-11.3,不装驱动(避免覆盖现有显卡驱动)
sudo sh cuda_11.3.1_465.19.01_linux.run \
  --override \
  --toolkit \
  --toolkitpath=/home/cscai/cuda-11.3 \
  --no-drm \
  --no-man-page 

若服务器是CentOS系统,替换依赖安装命令:sudo yum install -y gcc make libXi-devel libXmu-devel mesa-libGLU-devel freeglut-devel

3. 验证CUDA 11.3安装成功
bash 复制代码
# 临时加载CUDA 11.3环境
export CUDA_HOME=/home/cscai/cuda-11.3
export PATH=$CUDA_HOME/bin:$PATH
# 检查版本(输出应包含release 11.3)
nvcc -V

第二步:配置虚拟环境专属使用CUDA 11.3

(接你之前的需求,仅指定虚拟环境用11.3,全局仍用11.5)

1. 激活目标虚拟环境
bash 复制代码
source /home/cscai/.virtualenvs/Point-MAE/bin/activate
2. 修改虚拟环境的activate脚本(自动加载11.3)
bash 复制代码
vim /home/cscai/.virtualenvs/Point-MAE/bin/activate
# 仅在 virtualenv 激活后执行

# 保存 CUDA 环境
_OLD_CUDA_HOME="$CUDA_HOME"
_OLD_PATH="$PATH"
_OLD_LD_LIBRARY_PATH="$LD_LIBRARY_PATH"

# 保存原始 deactivate 函数
_old_deactivate="$(declare -f deactivate)"

# 设置 CUDA 11.3
export CUDA_HOME=/home/cscai/cuda-11.3
export PATH="$CUDA_HOME/bin:$PATH"
export LD_LIBRARY_PATH="$CUDA_HOME/lib64:$LD_LIBRARY_PATH"

# 重写 deactivate
deactivate () {
    # 先恢复 CUDA
    export CUDA_HOME="$_OLD_CUDA_HOME"
    export PATH="$_OLD_PATH"
    export LD_LIBRARY_PATH="$_OLD_LD_LIBRARY_PATH"

    unset _OLD_CUDA_HOME _OLD_PATH _OLD_LD_LIBRARY_PATH

    # 恢复原 deactivate 并执行
    eval "$_old_deactivate"
    deactivate
}

# 保存退出:Esc → :wq → 回车
3. 验证虚拟环境隔离效果
bash 复制代码
# 激活环境(自动加载11.3)
source /home/cscai/.virtualenvs/Point-MAE-main/bin/activate
nvcc -V  # 输出release 11.3
python -c "import torch; print(torch.version.cuda)"  # 若装了torch1.11.0+cu113,输出11.3

# 退出环境(恢复11.5)
deactivate
nvcc -V  # 输出release 11.5

关键注意事项

  1. 驱动兼容 :CUDA 11.3需要显卡驱动版本≥465.19.01,若服务器现有驱动版本低于此,需先升级驱动(但会影响全局,建议确认:nvidia-smi查看驱动版本);
  2. 无冲突:CUDA 11.3和11.5独立安装,全局默认仍为11.5,仅目标虚拟环境生效11.3。

总结

  1. 先通过指定路径安装CUDA 11.3,避免覆盖现有11.5;
  2. 修改目标虚拟环境的activate脚本,实现"激活环境=用11.3,退出=恢复11.5";
  3. 验证核心:激活环境后nvcc -V显示11.3,退出后显示11.5,即配置成功。
相关推荐
CODER030418 小时前
ubuntu24.04:降内核+显卡驱动+cuda+cudnn+pytorch+anaconda+pycharm
人工智能·pytorch·深度学习·自然语言处理·cuda·ubuntu24.04·降内核
GGG7663 天前
Python 运维自动化:psutil+IPy 系统与网络信息采集深度实战
运维·python·云原生·pip
溪语流沙4 天前
【Python项目实战】虚拟环境与依赖管理:venv / pip / requirements.txt实操
开发语言·python·pip
Zhu7587 天前
GPU驱动与CUDA安装指南
nvidia·cuda
喜壹LittlePrince8 天前
CUDA 入门第一课:从线程索引到向量加法与朴素矩阵乘法
cuda·hpc
xier_ran10 天前
【infra之路】GPU 执行与存储层次全景关系图
人工智能·深度学习·cuda
circuitsosk11 天前
Python 模块与包管理:import 机制、虚拟环境与 pip 完全指南
开发语言·python·pip·依赖管理·模块与包
椒颜皮皮虾྅14 天前
【TensorRTtSharp v4.0】在 C# 中使用 TensorRT CSharp API v4.0 动态编译并运行 CUDA Kernel
android·开发语言·人工智能·深度学习·c#·cuda
Albart57515 天前
vLLM多卡部署终极踩坑:CUDA error worker进程异常退出 完整定位&生产根治方案
cuda·nccl·vllm·大模型部署·多卡推理·大模型踩坑
帅气的小峰17 天前
pybind11与nanobind可以共存吗?如何迁移?
c++·python·cuda·推理引擎