Windows 8 处的 TensorFlow 导入错误

TensorFlow import error at Windows 8

我只是 installed TensorFlow via pip3 在 Windows 8,使用 python 3.5.2(表示 已成功安装 tensorflow-1.2.1) .然而,当我想加载它时,它显示了一个很长的错误日志,说它没有找到很多模块。

C:\Users\IQS-1>python
Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information.
>>>
>>>
>>>
>>>
>>>
>>> import tensorflow as tf
Traceback (most recent call last):
  File "C:\Users\IQS-1\AppData\Local\Programs\Python\Python35\lib\site-packages\
tensorflow\python\pywrap_tensorflow_internal.py", line 18, in swig_import_helper

    return importlib.import_module(mname)
  File "C:\Users\IQS-1\AppData\Local\Programs\Python\Python35\lib\importlib\__in
it__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 666, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 577, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 906, in create_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\IQS-1\AppData\Local\Programs\Python\Python35\lib\site-packages\
tensorflow\python\pywrap_tensorflow.py", line 41, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "C:\Users\IQS-1\AppData\Local\Programs\Python\Python35\lib\site-packages\
tensorflow\python\pywrap_tensorflow_internal.py", line 21, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "C:\Users\IQS-1\AppData\Local\Programs\Python\Python35\lib\site-packages\
tensorflow\python\pywrap_tensorflow_internal.py", line 20, in swig_import_helper

    return importlib.import_module('_pywrap_tensorflow_internal')
  File "C:\Users\IQS-1\AppData\Local\Programs\Python\Python35\lib\importlib\__in
it__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ImportError: No module named '_pywrap_tensorflow_internal'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\IQS-1\AppData\Local\Programs\Python\Python35\lib\site-packages\
tensorflow\__init__.py", line 24, in <module>
    from tensorflow.python import *
  File "C:\Users\IQS-1\AppData\Local\Programs\Python\Python35\lib\site-packages\
tensorflow\python\__init__.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "C:\Users\IQS-1\AppData\Local\Programs\Python\Python35\lib\site-packages\
tensorflow\python\pywrap_tensorflow.py", line 52, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "C:\Users\IQS-1\AppData\Local\Programs\Python\Python35\lib\site-packages\
tensorflow\python\pywrap_tensorflow_internal.py", line 18, in swig_import_helper

    return importlib.import_module(mname)
  File "C:\Users\IQS-1\AppData\Local\Programs\Python\Python35\lib\importlib\__in
it__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 666, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 577, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 906, in create_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\IQS-1\AppData\Local\Programs\Python\Python35\lib\site-packages\
tensorflow\python\pywrap_tensorflow.py", line 41, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "C:\Users\IQS-1\AppData\Local\Programs\Python\Python35\lib\site-packages\
tensorflow\python\pywrap_tensorflow_internal.py", line 21, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "C:\Users\IQS-1\AppData\Local\Programs\Python\Python35\lib\site-packages\
tensorflow\python\pywrap_tensorflow_internal.py", line 20, in swig_import_helper

    return importlib.import_module('_pywrap_tensorflow_internal')
  File "C:\Users\IQS-1\AppData\Local\Programs\Python\Python35\lib\importlib\__in
it__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ImportError: No module named '_pywrap_tensorflow_internal'


Failed to load the native TensorFlow runtime.

See https://www.tensorflow.org/install/install_sources#common_installation_probl
ems

for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.
>>> hello = tf.constant('Hello, TensorFlow!')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'tf' is not defined
>>>
>>>
>>> tf
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'tf' is not defined

我怀疑它没有找到正确的目录来加载模块(类似 ),但我还不能修复它。我非常感谢任何建议!

我能够重现与您在 Windows 8.1Python 3.5.2[= 中完全相同的错误41=] 和 TensorFlow 1.2.1 仅适用于 CPU.

此问题的根本原因是因为 TensorFlow Windows 安装需要 msvcp140.dll

您可以通过安装最新的 Microsoft Visual C++ 2015 Redistributable Update 3.

来安装此 DLL

在安装了包含 TensorFlow 所需的 DLL 的上述软件包后,我能够解决您遇到的问题。

相关参考:

On Windows, running "import tensorflow" generates No module named "_pywrap_tensorflow" error

附录:

同样的错误也可以在 Windows 10 上重现,使用与上面相同的 Python 和 TensorFlow 版本。

此外,用户也可以安装Microsoft Visual C++ Redistributable for Visual Studio 2017来解决上述错误