conda安装torchtext 0.11.0后出现ImportError问题求助
问题根因
- 核心冲突为PyTorch生态包的编译ABI不匹配,具体原因如下:
- pytorch-mutex版本错误:你需要使用CPU版PyTorch,但当前环境中pytorch-mutex为cuda版本,会导致依赖链上的符号匹配错误
- 包来源不统一:你的pytorch包从conda-forge源安装,torchtext、torchaudio、torchvision从pytorch官方源安装,不同源的编译参数不一致,C++层面的导出符号不兼容,就是报错中undefined symbol的直接诱因
- 配套版本存在偏差:PyTorch 1.10.0官方适配的torchvision版本为0.11.0,当前环境安装的0.11.1也可能触发兼容性问题
解决方案
按以下步骤执行即可解决问题:
- 卸载当前环境所有torch相关包,清理残留依赖
conda remove pytorch pytorch-lightning pytorch-mutex torchaudio torchmetrics torchtext torchvision -y
- 先安装CPU版pytorch-mutex,避免后续自动拉取cuda相关依赖
conda install pytorch-mutex=1.0=cpu -c pytorch -y
- 统一从pytorch官方源安装版本完全匹配的CPU版PyTorch生态组件
conda install pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 torchtext==0.11.0 cpuonly -c pytorch -y
- 重新安装其他依赖
conda install pytorch-lightning==1.5.2 torchmetrics==0.6.0 -c conda-forge -y pip install jsonargparse[summaries]
- 执行测试命令验证修复效果
python -m script fit --print_config
如果执行完上述步骤仍存在报错,可直接重建conda环境后再按上述顺序安装依赖,彻底清除环境残留冲突。
内容的提问来源于stack exchange,提问作者Farhood ET
相关产品推荐
相关产品推荐

