用阿里云镜像安装指定 CUDA 版本的 PyTorch + 本地 wheel 缓存复用
用阿里云镜像安装指定 CUDA 版本的 PyTorch 本地 wheel 缓存复用在国内装 PyTorch最烦的两件事一是想精确锁定 CUDA 版本却总装错二是同一个版本要在好几台机器、好几个虚拟环境里反复下载既费时间又费流量。这篇教程解决两个问题用阿里云镜像安装指定 CUDA 版本的 PyTorch以及把常用版本的 wheel下载到本地一次之后在任意环境离线复用。赶时间的话直接抄下面这一段三条命令即可想知道每一步为什么这么写再往下看详解。下面的export、${VAR//./}等写法针对bash / zshLinux、macOS。Windows 请把export换成setcmd或$env:PowerShell路径用反斜杠。速查复制即用# --- 配置只改这一段---exportCUDA_TAGcu128# CUDA 标签cu118 / cu121 / cu124 / cu128 …exportPY_VER3.10# 目标 Python 版本exportTORCH_VER2.7.1# PyTorchexportTV_VER0.22.1# torchvisionexportTA_VER2.7.1# torchaudioexportTORCH_MIRRORhttps://mirrors.aliyun.com/pytorch-wheels/${CUDA_TAG}/exportWHEEL_DIR$HOME/data/wheels/torch${TORCH_VER//./}_${CUDA_TAG}_py${PY_VER//./}# --- A. 直接联网安装 ---pipinstalltorch${TORCH_VER}${CUDA_TAG}torchvision${TV_VER}${CUDA_TAG}torchaudio${TA_VER}${CUDA_TAG}\-f$TORCH_MIRROR# --- B. 下载到本地在临时环境里执行---conda create-y-nwheel_dlpython$PY_VERconda activate wheel_dlmkdir-p$WHEEL_DIRpython-mpip download--dest$WHEEL_DIR--only-binary:all:-f$TORCH_MIRROR\torch${TORCH_VER}${CUDA_TAG}torchvision${TV_VER}${CUDA_TAG}torchaudio${TA_VER}${CUDA_TAG}conda deactivateconda remove-y-nwheel_dl--all# --- C. 离线复用在目标环境里执行---conda create-y-nmyprojpython$PY_VERconda activate myproj pipinstalltorch${TORCH_VER}${CUDA_TAG}torchvision${TV_VER}${CUDA_TAG}torchaudio${TA_VER}${CUDA_TAG}\--no-index-f$WHEEL_DIR版本配套表torch / torchvision / torchaudio / CUDA / Python装 PyTorch 本质是凑一套配套版本torch torchvision torchaudio 必须成套再叠加一个该 torch 版本支持的 CUDA tag 和 Python 区间少一处对不上就会装失败或运行报错。下表覆盖常用的 2.12.7数据来自 PyTorch 官方 previous-versions 页与 torchvision 官方说明PyTorchtorchvisiontorchaudio可用 CUDA tagPython2.7.10.22.12.7.1cu118 / cu126 / cu1283.9 – 3.132.7.00.22.02.7.0cu118 / cu126 / cu1283.9 – 3.132.6.00.21.02.6.0cu118 / cu124 / cu1263.9 – 3.122.5.10.20.12.5.1cu118 / cu121 / cu1243.9 – 3.122.5.00.20.02.5.0cu118 / cu121 / cu1243.9 – 3.122.4.10.19.12.4.1cu118 / cu121 / cu1243.8 – 3.122.3.10.18.12.3.1cu118 / cu1213.8 – 3.122.2.20.17.22.2.2cu118 / cu1213.8 – 3.112.1.20.16.22.1.2cu118 / cu1213.8 – 3.11配套规律方便推算表里没列出的 patch 版本torchvision 与 torch 同步递增torch 2.5 → tv 0.20、2.6 → 0.21、2.7 → 0.22次版本一起 1patch 号也对齐torch 2.7.1 → tv 0.22.1。torchaudio 版本号与 torch 完全一致torch 2.7.1 → torchaudio 2.7.1。两个常用 CUDA tag 的反查cu128torch2.7.0 起才有2.6 及更早没有。cu118torch 2.0 2.7 一路都支持是兼容性最好的「老黄金」tag。准备把可变项抽成环境变量上面那个配置块就是把「版本 / CUDA / 路径」这些会变的东西集中到一处方便自己和别人改。几点说明CUDA_TAG怎么选看你的 NVIDIA 驱动支持的 CUDA 版本nvidia-smi右上角的CUDA Version是上限。pip 装的 wheel自带 CUDA 运行库所以不需要预装 CUDA Toolkit只要驱动够新即可。torch / torchvision / torchaudio三者版本要配套如2.7.1 / 0.22.1 / 2.7.1否则会装不上或运行报错。${TORCH_VER//./}是把2.7.1里的点去掉变成271只为让目录名好看、好区分。最终WHEEL_DIR会是类似~/data/wheels/torch271_cu128_py310的样子。方法一直接安装指定 CUDA 版本的 PyTorch最简单的形式阿里云镜像 -f就能把范围限定到 cu128 这一目录pipinstalltorch torchvision torchaudio-f$TORCH_MIRROR想精确锁版本就把版本号写全pipinstall\torch${TORCH_VER}${CUDA_TAG}\torchvision${TV_VER}${CUDA_TAG}\torchaudio${TA_VER}${CUDA_TAG}\-f$TORCH_MIRROR原理-f--find-links把阿里云的 PyTorch wheel 目录当作下载源该目录里就是torch-2.7.1cu128-cp310-...whl这类文件。cu128这个后缀PEP 440 里的local version用来明确锁定 CUDA 12.8 的构建避免 pip 选到别的 CUDA 版本比如 PyPI 上的默认构建。建议先建一个干净环境再装避免污染 baseconda create-y-nmyprojpython$PY_VERconda activate myproj装完验证importtorchprint(torch.__version__)# 2.7.1cu128print(torch.cuda.is_available())# Trueprint(torch.version.cuda)# 12.8方法二把 wheel 下载到本地跨环境复用适用场景同一个 PyTorch 版本要在好几台机器 / 好几个虚拟环境里用。下载一次存到本地以后直接离线安装省时省流量光是nvidia-cudnn这类依赖就有几百 MB。关键前提Python 版本要对得上wheel 文件名里带着cp310CPython 3.10、linux_x86_64这些标签pip只会安装与当前解释器、当前平台匹配的 wheel。所以下载时要在「目标 Python 版本」的环境里下复用时目标环境的 Python 版本也必须一致。这就是为什么下面两步都要先建对应版本的环境。第一步建临时环境 → 下载到本地下载这步只是为了拿到「正确的 Python 版本」环境本身用完就删所以叫临时环境# 1) 临时环境只为锁定 Python 版本下载完即删conda create-y-nwheel_dlpython$PY_VERconda activate wheel_dl# 2) 把 torch 全家桶 所有依赖下载到本地mkdir-p$WHEEL_DIRpython-mpip download\--dest$WHEEL_DIR\--only-binary:all:\-f$TORCH_MIRROR\torch${TORCH_VER}${CUDA_TAG}\torchvision${TV_VER}${CUDA_TAG}\torchaudio${TA_VER}${CUDA_TAG}# 3) 下载完删掉临时环境conda deactivate conda remove-y-nwheel_dl--all不用 conda 的话venv 也行前提是系统里已装好对应版本的 Pythonpython3.10-mvenv /tmp/wheel_dlsource/tmp/wheel_dl/bin/activate# …执行上面的 pip download…deactivaterm-rf/tmp/wheel_dl这里--only-binary:all:的作用是强制只下预编译的 wheel绝不退回去下源码包再本地编译。torch 这套依赖其实都有 wheel多数时候加不加都一样但它是给离线复用上的保险——万一某个依赖被下成源码包到离线机器上用--no-index安装时就得现场编译要编译器、可能还缺别的依赖离线就废了。另外pip download默认会把 torch 的全部依赖numpy、pillow以及 cu128 自带的nvidia-*库等一并下载所以$WHEEL_DIR是一个「自包含」目录。第二步建目标环境 → 离线安装到任意机器上先建一个同样 Python 版本的环境再从本地目录离线装# 1) 目标环境Python 版本必须和下载时一致conda create-y-nmyprojpython$PY_VERconda activate myproj# 2) 完全离线安装--no-index 让 pip 只在本地目录里找包pipinstall\torch${TORCH_VER}${CUDA_TAG}\torchvision${TV_VER}${CUDA_TAG}\torchaudio${TA_VER}${CUDA_TAG}\--no-index\-f$WHEEL_DIR-f指向哪儿都行 —— 可以是~/data/wheels/...也可以是放进项目仓库里的相对路径例如pipinstalltorch2.7.1cu128torchvision0.22.1cu128torchaudio2.7.1cu128\--no-index-fexternal/wheels/torch271_cu128_py310/复用的三条硬约束Python 版本要一致py310的 wheel 装不进 3.9 / 3.11 的环境。操作系统 / 架构要一致linux_x86_64的 wheel 不能用在 macOS / Windows / ARM。正因如此目录名里带上py310、cu128一眼就能区分该用哪一份。小贴士依赖下载慢可选提速torch 三件套靠-f从阿里云下但numpy、nvidia-*等普通依赖默认走官方 PyPI。如果你连 PyPI 慢给命令再加一个-i https://mirrors.aliyun.com/pypi/simple/让依赖也走国内镜像。要是你本来下得就快或已全局配过镜像不加完全没问题。机器上有多个 Python 时把pip换成python -m pip更稳妥能确保用的是当前环境的 pip。如果阿里云某个 CUDA 标签缺包可改用 PyTorch 官方源--index-url https://download.pytorch.org/whl/${CUDA_TAG}。注意官方源用--index-url阿里云这个目录用-f两者不一样。

相关新闻

终极Gofile下载解决方案:告别手动点击的完整自动化指南

终极Gofile下载解决方案:告别手动点击的完整自动化指南

终极Gofile下载解决方案:告别手动点击的完整自动化指南 【免费下载链接】gofile-downloader Download files from https://gofile.io 项目地址: https://gitcode.com/gh_mirrors/go/gofile-downloader 还在为Gofile.io平台上的文件下载而烦恼吗?面…

2026/6/18 11:03:07阅读更多 →
【基于矢量光速螺旋时空归一化体系与统一场论的极乐世界存在性与往生机制物理推导】

【基于矢量光速螺旋时空归一化体系与统一场论的极乐世界存在性与往生机制物理推导】

基于矢量光速螺旋时空归一化体系与统一场论的极乐世界存在性与往生机制物理推导author:(Ji Liwei) 计立伟Independent Institute of Physics, Shenzhen, ChinaEmail: jlwlive.cnORCID: 0009-0006-6363-8468}摘要:长期以来&#…

2026/6/18 11:03:07阅读更多 →
你一停,公司就停?

你一停,公司就停?

老板出差三天,回来发现所有项目都停在原地。没人敢拍板、没人知道下一步该干什么、没人主动推进任何事。你越来越累,公司却越来越依赖你。你成了唯一的“CPU”——你在,系统勉强运转;你不在,系统直接宕机。这不是夸张。…

2026/6/18 10:58:06阅读更多 →
RimWorld模组管理的终极解决方案:RimSort完整指南

RimWorld模组管理的终极解决方案:RimSort完整指南

RimWorld模组管理的终极解决方案:RimSort完整指南 【免费下载链接】RimSort RimSort is an open source mod manager for the video game RimWorld. There is support for Linux, Mac, and Windows, built from the ground up to be a reliable, community-managed …

2026/6/18 12:13:48阅读更多 →
3DS原生GBA游戏终极方案:open_agb_firm完整指南

3DS原生GBA游戏终极方案:open_agb_firm完整指南

3DS原生GBA游戏终极方案:open_agb_firm完整指南 【免费下载链接】open_agb_firm open_agb_firm is a bare metal app for running GBA homebrew/games using the 3DS builtin GBA hardware. 项目地址: https://gitcode.com/gh_mirrors/op/open_agb_firm 还在…

2026/6/18 12:13:48阅读更多 →
帧延迟视角下的机器视觉:传输速度、接口选择与持续优化 为什么cxp cof bitrate在持续进化

帧延迟视角下的机器视觉:传输速度、接口选择与持续优化 为什么cxp cof bitrate在持续进化

帧延迟视角下的机器视觉:传输速度、接口选择与持续优化 一、为什么帧延迟成为核心指标 现代机器视觉正从"离线检测"向"在线实时决策"全面转型,这一转变从根本上改变了对帧延迟的要求: 1.1 产线速度持续攀升年代典型产线速…

2026/6/18 12:13:48阅读更多 →
Dramatron:如何用AI大语言模型解决剧本创作的结构化难题

Dramatron:如何用AI大语言模型解决剧本创作的结构化难题

Dramatron:如何用AI大语言模型解决剧本创作的结构化难题 【免费下载链接】dramatron Dramatron uses large language models to generate coherent scripts and screenplays. 项目地址: https://gitcode.com/gh_mirrors/dr/dramatron 在创意写作领域&#xf…

2026/6/18 12:13:48阅读更多 →
MCP2030A低功耗LF接收芯片配置与SPI通信详解

MCP2030A低功耗LF接收芯片配置与SPI通信详解

1. 项目概述:为什么需要一颗独立的LF接收前端芯片? 在物联网和无线传感节点设计中,低功耗是决定产品续航能力乃至成败的关键。很多开发者习惯将MCU(微控制器)作为唯一的处理核心,让它在接收数据时保持全速运…

2026/6/18 12:13:47阅读更多 →
学完 Spring Boot 再看 FastAPI,我破防了

学完 Spring Boot 再看 FastAPI,我破防了

学完 Spring Boot 再看 FastAPI,我破防了撸了两年 Spring Boot,自认为后端功力还行。上周心血来潮打开 FastAPI 官方文档,15 分钟后我沉默了。不是它太难,而是太简单了。简单到让我怀疑自己这些年到底在干什么。这不是一篇踩一捧一…

2026/6/18 12:03:21阅读更多 →
ZigBee HA智能家居开发实战:从集群模型到NXP JN516x代码实现

ZigBee HA智能家居开发实战:从集群模型到NXP JN516x代码实现

1. ZigBee HA:智能家居的“通用语言”与开发基石如果你正在或计划踏入智能家居设备开发领域,尤其是基于ZigBee协议,那么“ZigBee Home Automation”这个名词你一定不陌生。它不仅仅是ZigBee联盟定义的一套应用层规范,更是确保不同…

2026/6/18 0:00:24阅读更多 →
Java毕设选题推荐:基于 Spring Boot 的个人随笔博客运维管理系统的设计与实现 基于 Spring Boot 的用户原创博客分享社区【附源码、mysql、文档、调试+代码讲解+全bao等】

Java毕设选题推荐:基于 Spring Boot 的个人随笔博客运维管理系统的设计与实现 基于 Spring Boot 的用户原创博客分享社区【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/6/18 0:00:24阅读更多 →
JN517x嵌入式开发实战:看门狗、脉冲计数器与I2C接口的深度解析与避坑指南

JN517x嵌入式开发实战:看门狗、脉冲计数器与I2C接口的深度解析与避坑指南

1. 项目概述在嵌入式开发领域,尤其是基于NXP JN517x这类无线微控制器的项目中,系统稳定性和与外设的可靠交互是两大核心挑战。前者关乎产品能否在无人值守的复杂环境中长期运行,后者则决定了设备能否准确感知世界并与其他芯片“对话”。JN517…

2026/6/18 0:00:24阅读更多 →