为何不同Python版本虚拟环境中pip重复下载同版本torch包?如何缓存安装?
强制pip使用缓存避免重复下载Torch的方法
我来帮你解决这个问题——默认情况下pip应该会自动复用用户级别的缓存,但有时候因为版本或者路径问题会出现不读取的情况,试试下面这几个方法:
先确认缓存里确实有目标包
先运行pip cache dir查看pip的缓存路径,然后导航到这个路径下的http%2Fdownload.pytorch.org%2Fwhl(对应PyTorch的下载源),找到对应Python版本和系统的torch 1.6.0的.whl文件。如果这里没有,那第一个环境的安装可能没生成缓存,或者缓存被清理了,得重新下载一次再尝试。方法一:强制从缓存读取,不访问PyPI索引
用--no-index和--find-links参数让pip完全从缓存路径找包,命令如下:pip install --no-index --find-links=file://$(pip cache dir) torch==1.6.0注意Windows系统的路径格式要改成
file:///C:/Users/你的用户名/AppData/Local/pip/Cache(三个斜杠开头),如果路径有空格要加引号包裹。方法二:手动指定缓存目录安装
如果默认缓存路径没问题,但pip没识别到,直接指定缓存目录运行安装命令:pip install --cache-dir $(pip cache dir) torch==1.6.0这个命令会明确告诉pip使用你的用户级缓存,避免它使用虚拟环境内的临时缓存。
方法三:升级pip再试
旧版本的pip在缓存逻辑上可能有bug,先升级pip到最新版:pip install --upgrade pip升级完成后再重新安装torch,大概率会自动复用缓存了。
兜底方法:本地安装缓存包
如果上面的方法都不生效,直接从缓存路径找到对应的.whl文件,复制到当前工作目录,然后本地安装:pip install ./torch-1.6.0-cp38-none-win_amd64.whl # 替换成你实际的文件名
内容的提问来源于stack exchange,提问作者Vaish MK
相关产品推荐
相关产品推荐

