You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Python3.8 CPU环境安装指定版本PyTorch相关依赖遭遇版本冲突求助

Python3.8 CPU环境安装指定版本PyTorch相关依赖遭遇版本冲突求助

我一眼就看出问题出在哪了——你指定的PyTorch系列组件版本里,torchaudio==0.10.0要求的是标准的torch==1.10.0,但torchvision==0.11.0明确依赖带+cpu后缀的torch==1.10.0+cpu,pip会把这两个当成不同的版本,自然就触发冲突了。结合你用的是Python3.8纯CPU环境,给你几个实用的解决办法:

方案一:统一PyTorch系列的CPU版本标识

直接修改你的requirements.txt,把torchaudio也改成对应CPU版本,让三个PyTorch组件依赖同一个版本:

torch==1.10.0+cpu
torchaudio==0.10.0+cpu
torchvision==0.11.0+cpu
pyannote-audio==0.0.1
lightning==2.3.3
numpy
scipy
pandas
soundfile
matplotlib

这样所有组件的版本标识完全一致,pip就能顺利解析依赖了。

方案二:放宽PyTorch版本约束,让pip自动匹配

如果不是必须卡死1.10.x版本,可以把PyTorch相关的版本号删掉,让pip自动为你的CPU环境挑选兼容的版本组合:

torch
torchaudio
torchvision
pyannote-audio==0.0.1
lightning==2.3.3
numpy
scipy
pandas
soundfile
matplotlib

不过要注意,这样可能会安装比1.10.x更新的版本,要是你的项目必须依赖旧版本特性,这个方案就不太适合。

方案三:手动分步安装,强制兼容

要是必须保留指定版本,那就手动控制安装顺序,先搞定torch的CPU版本,再装其他组件:

# 先安装指定的CPU版torch,强制覆盖可能存在的冲突版本
pip install torch==1.10.0+cpu --force-reinstall
# 安装torchaudio和torchvision,跳过依赖检查(因为已经手动装了兼容的torch)
pip install torchaudio==0.10.0 torchvision==0.11.0 --no-deps
# 最后安装剩下的其他依赖
pip install pyannote-audio==0.0.1 lightning==2.3.3 numpy scipy pandas soundfile matplotlib

这个方法需要手动操作,但能严格保留你要的版本,不过后续要留意有没有隐性的兼容问题。

另外提个小提醒:lightning==2.3.3是比较新的版本,它和PyTorch1.10.x可能存在兼容性问题,如果上面的方案都不行,不妨试试把lightning降级到和PyTorch1.10.x兼容的版本(比如lightning==1.5.10这类),毕竟新版本的PyTorch Lightning通常会要求更新的PyTorch版本。

备注:内容来源于stack exchange,提问作者oran ben david

火山引擎 最新活动