运行克隆仓库GBM_WSSM时TensorFlow加载失败求助
解决TensorFlow 1.13.1找不到msvcp140.dll的问题
问题背景
运行GitHub仓库GBM_WSSM的代码时,持续触发以下错误:
Using TensorFlow backend. Traceback (most recent call last): File "C:\Users\trans\source\repos\GBM_WSSM\.venv\lib\site-packages\tensorflow\python\platform\self_check.py", line 47, in preload_check ctypes.WinDLL(build_info.msvcp_dll_name) File "C:\Users\trans\AppData\Roaming\uv\python\cpython-3.7.9-windows-x86_64-none\lib\ctypes\__init__.py", line 364, in __init__ self._handle = _dlopen(self._name, mode) OSError: [WinError 126] The specified module could not be found During handling of the above exception, another exception occurred: Traceback (most recent call last): File "0_main.py", line 7, in <module> import keras File "C:\Users\trans\source\repos\GBM_WSSM\.venv\lib\site-packages\keras\__init__.py", line 3, in <module> from . import utils File "C:\Users\trans\source\repos\GBM_WSSM\.venv\lib\site-packages\keras\utils\__init__.py", line 6, in <module> from . import conv_utils File "C:\Users\trans\source\repos\GBM_WSSM\.venv\lib\site-packages\keras\utils\conv_utils.py", line 9, in <module> from .. import backend as K File "C:\Users\trans\source\repos\GBM_WSSM\.venv\lib\site-packages\keras\backend\__init__.py", line 89, in <module> from .tensorflow_backend import * File "C:\Users\trans\source\repos\GBM_WSSM\.venv\lib\site-packages\keras\backend\tensorflow_backend.py", line 5, in <module> import tensorflow as tf File "C:\Users\trans\source\repos\GBM_WSSM\.venv\lib\site-packages\tensorflow\__init__.py", line 24, in <module> from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import File "C:\Users\trans\source\repos\GBM_WSSM\.venv\lib\site-packages\tensorflow\python\__init__.py", line 49, in <module> from tensorflow.python import pywrap_tensorflow File "C:\Users\trans\source\repos\GBM_WSSM\.venv\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 30, in <module> self_check.preload_check() File "C:\Users\trans\source\repos\GBM_WSSM\.venv\lib\site-packages\tensorflow\python\platform\self_check.py", line 55, in preload_check % build_info.msvcp_dll_name) ImportError: Could not find 'msvcp140.dll'. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable. You may install this DLL by downloading Visual C++ 2015 Redistributable Update 3 from this URL: https://www.microsoft.com/en-us/download/details.aspx?id=53587
当前环境:Windows 10 Pro,Python 3.7.9虚拟环境,已安装keras==2.2.4、pillow>=9.5.0、tensorflow==1.13.1。已尝试下载Visual C++ 2015 Redistributable Update 3,确认msvcp140.dll存在于system32文件夹且该文件夹已加入用户PATH变量,但问题仍未解决。
解决方案
- 安装对应架构的VC++ Redistributable:确保安装的是64位版本的Visual C++ 2015 Redistributable Update 3,与你的64位Python虚拟环境匹配。若仅安装32位版本,即使
system32中有DLL,也无法被64位程序识别。 - 修复VC++ Redistributable安装:打开控制面板→程序和功能,找到已安装的Visual C++ 2015 Redistributable,右键选择「更改」,点击「修复」完成后重启电脑。
- 手动复制DLL到虚拟环境目录:确认
system32中的msvcp140.dll为64位版本,将其复制到虚拟环境的Lib\site-packages\tensorflow\python目录,或虚拟环境的Scripts目录下。 - 检查系统级PATH设置:确保
system32目录在系统PATH中,而非仅用户PATH。部分情况下虚拟环境启动时不会加载用户PATH的最新配置,可通过命令行执行echo %PATH%查看实际生效的路径列表。 - 重新安装TensorFlow:先卸载当前版本,再重新安装指定版本,确保安装过程无报错:
pip uninstall tensorflow -y pip install tensorflow==1.13.1 - 验证虚拟环境Python架构:运行以下命令确认虚拟环境为64位:
若输出python -c "import sys; print(sys.maxsize > 2**32)"True则为64位,若为False需重新创建64位虚拟环境。
内容的提问来源于stack exchange,提问作者Michelle Latham
相关产品推荐
相关产品推荐

