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,即配置成功。
相关推荐
June`1 天前
并发内核执行
c++·人工智能·算法·cuda
Olafur_zbj2 天前
【AI】CUDA的新编程模型:tile编程模型
人工智能·cuda·tile
Albart5753 天前
【已解决】ModuleNotFoundError_ No module named ‘xxx’ 模块导入失败终极解决
python·pip·环境配置·后端开发·bug解决·模块报错·python导包失败
10mAh3 天前
Python 环境彻底不乱:uv、pip、venv、Conda 怎么选?Windows 项目迁移与锁版本实战
python·pip·uv
doubt。3 天前
RAG与Agent智能体项目实战教程跟练与解析(前置准备与OpenAI库基础使用)
python·ai·pip
(initial)4 天前
C-02. Cooperative Groups:安全分组、tile 集体与 coalesced 聚合
cuda
二进制杯莫停5 天前
A和B环境的python版本相同,B环境无法安装pip依赖,离线安装
开发语言·python·pip
DFT计算杂谈6 天前
服务器通过pip安装Kimi Code CLI 和使用
运维·服务器·pip
June`7 天前
warp shuffle指令
c++·人工智能·算法·cuda
Patrick在香港7 天前
Python依赖管理从踩坑到选型:pip/poetry/uv四种方案全面实测
开发语言·python·数据分析·scikit-learn·ai编程·pip·uv