如何让pip缓存带CUDA的PyTorch安装包?
解决pip安装PyTorch(CUDA版)重复下载缓存失效的问题
问题原因
使用--index-url指定PyTorch专属仓库时,pip 23.0.1会将该源视为独立于默认PyPI的特殊源,缓存逻辑对这类自定义源的识别存在问题,导致包不会被存入缓存或无法复用已有缓存。
可行解决方法
1. 手动将包放入pip缓存目录
- 先查看pip缓存路径:
pip cache dir - 从PyTorch cu121仓库下载适配Python 3.10的whl包:torch、torchvision、torchaudio对应版本(可通过原安装命令的输出看到具体包名,比如
torch-2.1.0+cu121-cp310-cp310-linux_x86_64.whl) - 将下载的whl包放到缓存目录下的
wheels子文件夹中(无需严格对应子目录,pip会自动搜索) - 再次执行原安装命令,pip会直接读取本地缓存,不再重复下载
2. 本地离线仓库安装
- 创建本地文件夹(如
~/pytorch_cuda_cache),将下载好的whl包放入其中 - 执行安装命令时指定本地目录作为唯一源:
pip3 install torch torchvision torchaudio --find-links=~/pytorch_cuda_cache --no-index - 此方法完全避免远程请求,适合频繁在不同虚拟环境安装的场景,需确保本地包版本与需求匹配
3. 配置pip默认使用PyTorch CUDA源
- 编辑pip配置文件:
- Linux/macOS:
~/.config/pip/pip.conf - Windows:
%APPDATA%\pip\pip.ini
- Linux/macOS:
- 添加以下内容:
[global] index-url = https://download.pytorch.org/whl/cu121 - 之后安装时直接执行
pip3 install torch torchvision torchaudio,pip会默认使用该源并正常缓存包,无需每次指定--index-url,缓存逻辑可正常工作
4. 升级pip版本(可选)
- 旧版pip可能存在自定义源缓存的bug,升级到最新版本尝试修复:
pip3 install --upgrade pip - 升级后再执行原安装命令,检查缓存是否生效(可通过
pip cache list | grep torch验证)
内容的提问来源于stack exchange,提问作者Kefir
相关产品推荐
相关产品推荐

