记录最近在本机安装 nvidia cuda 和 python torch 遇到的一些问题.
硬件&系统
我的显卡是 2060. 系统是 Windows 10.
cuda toolkit
打开这个地址安装官方 cuda toolkit: https://developer.nvidia.com/cuda-toolkit. 我安装后桌面的 nvidia 程序打不开, 就又更新了 nvidia 驱动程序, 能打开了.
使用 uv 管理 python 环境
python 环境搭建工具有很多, Anaconda, Miniconda, pyenv, uv. 我推荐使用 uv. uv 是一个由 Astral 公司用 Rust 开发的高性能 Python 包管理和项目管理工具,它旨在提供比传统 pip 更快的包安装和依赖管理体验。UV 不仅可以管理 Python 包,还可以管理多个 Python 版本,并在不同版本之间快速切换。
你可以通过以下命令安装 UV:
# On macOS and Linux.
curl -LsSf https://astral.sh/uv/install.sh | sh
# On Windows.
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# With pip.
pip install uv
安装完成后,你可以使用 uv --version 检查 UV 是否安装成功。
python 版本
当我把 2GB 的 torch 下载完后, 发现项目的一个依赖需要 python 版本介于 3.7 和 3.11, 而我的 python 版本是 3.13. 所以我推荐的 python 版本是python3.10
, 应该足以应对大部分情况.
虚拟环境
在你的项目文件夹执行uv venv --python 3.10
创建虚拟环境.
安装依赖
安装除torch
外的一般依赖时执行 uv pip install xxx1 xxx2 xxx3
, 也不用激活虚拟环境. 但是执行代码时需要激活虚拟环境. 如果想使用镜像地址加速, 例如使用清华的镜像, 改为uv pip install xxx1 xxx2 xxx3 -i https://pypi.tuna.tsinghua.edu.cn/simple
. 如果要安装requirements.txt
的所有依赖, 执行uv pip install -r requirements.txt
.
安装 torch
首先你需要打开这个地址: https://pytorch.org/get-started/locally/. 选择你的环境, 它会生成安装代码. 虽然我的 cuda 是 12.8, 但它没有, 我就选了最高的 12.6. 它给我的代码是 pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
.
把它拆分成两个, uv pip install torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
, 这个应该没什么问题, 因为这两个包不大. 重点是这个, uv pip install torch --index-url https://download.pytorch.org/whl/cu126
, torch 包大小超过 2GB, 你可以试试这代码看看你的速度, 如果速度不行就采用接下来的办法.
网络上有一些使用镜像地址安装torch
的办法, 如果你选择的 cuda 版本和 torch 版本比较新的话你会发现镜像无效.
pip install
可以从whl
文件安装, 所以找到你需要的文件地址通过其他下载工具下载下来, 再安装就块多了. 而且在 cuda 版本相同, python 版本相同的情况下, 多个虚拟环境都可以使用这个下载下来的文件安装.
打开https://pytorch.org/get-started/locally/
给你生成的代码里的网址(--index-url). 我的是https://download.pytorch.org/whl/cu126
, 找到 torch 并点击打开, 然后有很多文件, 不知道选哪个? 了解一下这些文件的命名规则就可以了. 我选择的是torch-2.6.0+cu126-cp310-cp310-win_amd64.whl
. 其中, 2.6.0
是 torch 版本, cu126
是 cuda 版本即cuda 12.6
, cp310
是 python 版本即python 3.10
, win_amd64
是操作系统.
把下载的文件存到项目外, 在项目文件夹执行uv pip install torch文件地址
安装 torch.
测试 cuda 和 torch 是否工作
创建check_cuda_torch.py
文件.
import torch
def test_pytorch_and_cuda():
print("PyTorch版本:", torch.__version__)
# 检查CUDA是否可用
if torch.cuda.is_available():
print("CUDA是否可用: 是")
print("CUDA版本:", torch.version.cuda)
print("支持的CUDA设备数:", torch.cuda.device_count())
# 获取当前设备名称
current_device = torch.cuda.current_device()
print("当前CUDA设备名称:", torch.cuda.get_device_name(current_device))
# 测试GPU上的张量运算
# 创建一个张量并将其移动到GPU
x = torch.tensor([1.0, 2.0, 3.0], device="cuda")
y = torch.tensor([4.0, 5.0, 6.0], device="cuda")
z = x + y
print("在GPU上计算的结果:", z)
else:
print("CUDA是否可用: 否")
if __name__ == "__main__":
test_pytorch_and_cuda()
执行.venv/Scripts/activate
激活虚拟环境, 执行python check_cuda_torch.py
.
遇到其他问题请查询 ai 助手.