导入PyTorch时遇OSError:加载torch_python.dll或其依赖失败
PyTorch导入时WinError 127错误的无conda解决方案
错误详情
使用pip install torch安装PyTorch后,导入时触发以下错误:
OSError Traceback (most recent call last) Cell In[1], line 1 ----> 1 import torch 2 print(torch.__version__) 3 print(torch.version.cuda) File "\\.venv\Lib\site-packages\torch\__init__.py", line 274 270 raise err 272 kernel32.SetErrorMode(prev_error_mode) --> 274 _load_dll_libraries() 275 del _load_dll_libraries File "\\.venv\Lib\site-packages\torch\__init__.py", line 257, in _load_dll_libraries 253 err = ctypes.WinError(last_error) 254 err.strerror += ( 255 f' Error loading "{dll}" or one of its dependencies.' 256 ) --> 257 raise err 258 elif res is not None: 259 is_loaded = True OSError: [WinError 127] The specified procedure could not be found. Error loading "\\.venv\Lib\site-packages\torch\lib\torch_python.dll" or one of its dependencies.
系统配置
- 操作系统:Windows 11
- Python版本:3.11(pyenv管理)
- PyTorch版本:2.6.0
- 已安装CUDA Toolkit:11.8
- 运行环境:venv虚拟环境
已尝试操作
已使用PyTorch官网推荐命令重新安装:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
核心疑问
不想安装conda,有没有其他解决办法?
无conda解决方案
1. 修复依赖项缺失
WinError 127多因依赖DLL缺失或版本不匹配导致:
- 下载并安装微软Visual C++ Redistributable 2022(x64版本),PyTorch核心组件依赖该运行库;
- 检查CUDA 11.8环境变量:确保
CUDA_PATH指向CUDA 11.8安装目录,且%CUDA_PATH%\bin已添加至系统PATH。
2. 清理后指定兼容版本重装
- 彻底卸载PyTorch相关包:
pip uninstall -y torch torchvision torchaudio - 清理pip缓存:
pip cache purge - 针对Python 3.11 + CUDA 11.8,指定兼容性更稳定的版本安装(可尝试2.5.1版本):
pip install torch==2.5.1 torchvision==0.20.1 torchaudio==2.5.1 --index-url https://download.pytorch.org/whl/cu118
3. 验证pyenv环境完整性
- 确认pyenv安装的Python 3.11为完整Windows版本,若存在异常,重新安装:
pyenv uninstall 3.11.x pyenv install 3.11.x - 激活虚拟环境后再次执行安装命令。
4. 检查虚拟环境权限
- 右键虚拟环境文件夹,选择「属性」-「安全」,确保当前用户拥有读写权限,避免因权限限制导致DLL加载失败。
内容的提问来源于stack exchange,提问作者unnk




