Conda环境安装PyTorch后导入失败:缺失依赖排查求助
PyTorch导入报错:shm.dll依赖缺失问题排查
我尝试通过Anaconda Prompt(Miniconda3)在Conda环境中安装PyTorch,遇到了shm.dll依赖缺失的报错问题,操作过程如下:
操作步骤
创建Conda环境:
conda create --name token python=3.10注:原命令
python=3.应为笔误,根据后续包信息推断实际使用Python 3.10激活环境并安装PyTorch:
activate token conda install pytorch pytorch-cuda=11.6 -c pytorch -c nvidia进入Python控制台导入torch时出现报错:
python >>>import torch Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\Users\.conda\envs\token\lib\site-packages\torch\__init__.py", line 139, in <module> raise err OSError: [WinError 126] The specified module could not be found. Error loading "C:\Users\.conda\envs\token\lib\site-packages\torch\lib\shm.dll" or one of its dependencies.查看环境中PyTorch相关包信息:
(base) C:\Users>conda list -n token pytorch # packages in environment at C:\Users\.conda\envs\token: # # Name Version Build Channel pytorch 1.13.0 py3.10_cuda11.6_cudnn8_0 pytorch pytorch-cuda 11.6 h867d48c_0 pytorch pytorch-mutex 1.0 cuda pytorch
问题
请问是否有方法检查缺失的依赖,或知晓PyTorch未被识别的原因?
排查与解决方法
1. 定位缺失的依赖项
- 使用Dependency Walker工具:下载后打开
C:\Users\.conda\envs\token\lib\site-packages\torch\lib\shm.dll,工具会自动扫描并标记缺失的依赖库。Windows 10/11用户可尝试用兼容模式运行,或改用微软Sysinternals的Process Monitor,过滤shm.dll相关的加载失败事件,精准定位缺失文件。 - 检查Visual C运行库:PyTorch依赖Microsoft Visual C Redistributable,确保安装了对应x64版本(建议安装最新版)。
2. 验证CUDA兼容性
- 查看系统CUDA驱动版本:运行
nvidia-smi命令,确认驱动版本≥451.82(CUDA 11.6的最低要求),若版本过低需更新驱动。 - 重装PyTorch:先卸载现有包再用官方命令重装,确保版本匹配:
conda remove pytorch pytorch-cuda pytorch-mutex --name token conda install pytorch torchvision torchaudio pytorch-cuda=11.6 -c pytorch -c nvidia
3. 检查环境路径配置
- 确认Conda环境的
Library\bin目录(C:\Users\.conda\envs\token\Library\bin)已加入系统PATH环境变量。激活环境后运行echo %PATH%查看,若未包含则手动添加,重启终端后再尝试导入torch。
4. 确认Python版本匹配
创建环境时的python=3.为笔误,需确保环境中Python版本(3.10)与PyTorch安装包的Python版本(py3.10)完全一致,避免版本不兼容导致依赖加载失败。
内容的提问来源于stack exchange,提问作者Lui Hellesoe
相关产品推荐
相关产品推荐

