如何在requirements.txt中结合>=与+cu110安装PyTorch GPU版?
在requirements.txt中结合PyTorch版本约束与指定CUDA版本的实现方法
要实现同时满足>=版本约束和指定CUDA(如+cu110)的PyTorch安装需求,是可以做到的,但需要遵循pip对带后缀版本号的语法规则,同时正确指定PyTorch的专属轮子源,以下是具体方案和问题原因分析:
问题根源
你之前的尝试失败主要有两个核心原因:
- PyTorch带CUDA后缀的轮子(如
+cu110)不在默认PyPI源中,必须指定PyTorch官方的轮子源才能找到 - 版本约束中未明确绑定
+cu110后缀,pip会优先匹配无后缀的CPU版或其他CUDA版本的轮子
正确的requirements.txt配置
将版本约束与CUDA后缀绑定,同时添加PyTorch的轮子源,示例如下:
# 约束torch版本>=1.7.0、!=1.12.0,且必须是cu110版本 torch>=1.7.0+cu110,!=1.12.0+cu110 # 对应匹配torchvision的版本与cu110后缀 torchvision>=0.8.1+cu110,!=0.13.0+cu110 # 指定PyTorch官方轮子源,确保能找到带CUDA后缀的包 -f https://download.pytorch.org/whl/torch_stable.html
关键注意事项
- 版本后缀绑定:必须在每个版本约束值后加上
+cu110,比如>=1.7.0+cu110,而不是单独写torch>=1.7.0 +cu110,这样pip才会识别到要筛选带cu110后缀的版本 - 源的优先级:
-f(--find-links)会告诉pip去指定地址查找额外的轮子,比--extra-index-url更适合PyTorch的场景,因为PyTorch的轮子是按CUDA版本分类存放的 - 版本匹配:确保torch和torchvision的版本与CUDA版本兼容,比如
torch1.7.0+cu110对应torchvision0.8.1+cu110,避免出现兼容性问题
验证方法
可以先执行 dry-run 命令测试安装计划,确认是否会拉取指定的cu110版本:
pip install -r requirements.txt --dry-run
内容的提问来源于stack exchange,提问作者丶 Limeー来夢 丶
相关产品推荐
相关产品推荐

