python - DLL 加载失败并且导入 tensorflow CPU 版本时没有名为“_pywrap_tensorflow_internal”的模块错误无法使用“mscvp140.dll”解决
问题描述
我已经尝试了 3 天来安装仅支持 CPU 的 tensorflow。我可以使用本机 pip 安装它,但是当我在 Python 3.6 Shell 中运行import tensorflow as tf行时,会出现这些错误:
Traceback (most recent call last):
File "C:\Program Files\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 14, in swig_import_helper
return importlib.import_module(mname)
File "C:\Program Files\Python36\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 658, in _load_unlocked
File "<frozen importlib._bootstrap>", line 571, in module_from_spec
File "<frozen importlib._bootstrap_external>", line 922, in create_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ImportError: DLL load failed: A dynamic link library (DLL) initialization routine failed.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Program Files\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
from tensorflow.python.pywrap_tensorflow_internal import *
File "C:\Program Files\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 17, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
File "C:\Program Files\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 16, in swig_import_helper
return importlib.import_module('_pywrap_tensorflow_internal')
File "C:\Program Files\Python36\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named '_pywrap_tensorflow_internal'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
import tensorflow as tf
File "C:\Program Files\Python36\lib\site-packages\tensorflow\__init__.py", line 24, in <module>
from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import
File "C:\Program Files\Python36\lib\site-packages\tensorflow\python\__init__.py", line 49, in <module>
from tensorflow.python import pywrap_tensorflow
File "C:\Program Files\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 74, in <module>
raise ImportError(msg)
ImportError: Traceback (most recent call last):
File "C:\Program Files\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 14, in swig_import_helper
return importlib.import_module(mname)
File "C:\Program Files\Python36\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 658, in _load_unlocked
File "<frozen importlib._bootstrap>", line 571, in module_from_spec
File "<frozen importlib._bootstrap_external>", line 922, in create_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ImportError: DLL load failed: A dynamic link library (DLL) initialization routine failed.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Program Files\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
from tensorflow.python.pywrap_tensorflow_internal import *
File "C:\Program Files\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 17, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
File "C:\Program Files\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 16, in swig_import_helper
return importlib.import_module('_pywrap_tensorflow_internal')
File "C:\Program Files\Python36\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named '_pywrap_tensorflow_internal'
Failed to load the native TensorFlow runtime.
See https://www.tensorflow.org/install/install_sources#common_installation_problems
for some common reasons and solutions. Include the entire stack trace
above this error message when asking for help.
我已按照以下链接的说明进行操作:
https://github.com/tensorflow/tensorflow/issues/10033
在 Windows 上,运行“import tensorflow”会生成 No module named “_pywrap_tensorflow”错误
以及其他建议相同解决方案的类似链接。
我尝试在我的 PATHEX 变量中包含“.DLL”文件,并在计算机中搜索了我的“mscvp140.dll”。我从 Visual Studio 中找到了一些包含此文件的目录,并在我的 PATH 变量中添加了其中一个目录。不过,当我运行导入行时,我得到了同样的错误。
以前有人解决过这个问题吗?也许我应该在我的 PATH 变量中添加某个文件夹,或者我的 tensorflow 可能会尝试找到 CUDA,即使它是 CPU 版本?我将衷心感谢您的帮助。
解决方案
我终于使用以下链接解决了这个问题:
在 Windows 上,运行“import tensorflow”会生成 No module named “_pywrap_tensorflow”错误
我已将我的 tensorflow 版本从 1.7 降级到 1.5。显然,较新的版本需要我的 CPU 不支持的 AVX 指令集。我希望这对其他用户有所帮助。
推荐阅读
- python - 从键列表中过滤字典
- metal - 金属着色器语言:为什么它们在类似指令的结果中有所不同?
- python - 凯撒密码加密。没有正确移动字符的一些问题
- c# - 我的 Top Down 射击游戏中的敌人不断向玩家的左右传送,但没有跟随它
- list - Haskell 中的跨度函数
- python - 如何使用 NetworkX 获得加权图中的最短路径?
- node.js - 如何在量角器页面对象模型中重用函数内部的元素?
- java - 使用 Java 解析 curl 响应
- c# - asp.net mvc中的登录和注册问题?
- react-native - 如何创建具有多行和动态宽度项目的水平 FlatList?