TensorFlow on Windows: ImportError: No module named '_pywrap_tensorflow_internal'
tensorflow
Solution
This error arises when one of the libraries (DLLs) on which TensorFlow depends cannot be found. To diagnose this kind of error, I have written a script that you can download from here; running the script will print suggestions about what steps to take to fix the error.
If you are running the CPU-only version of TensorFlow, the most likely DLL to be missing is `MSVCP140.DLL`. It is part of the Microsoft Visual C++ Redistributable Update 3, which you can download from here.
If you are running the GPU version of TensorFlow, it is possible that the CUDA libraries or the cuDNN libraries cannot be found. TensorFlow on Windows supports CUDA 8.0 (download from here) and cuDNN 5.1 (download from here). Note that cuDNN is often installed to a different directory from CUDA, and you may need to manually add it to your `%PATH%` environment variable.
Problem
I am trying to make TensorFlow work on Windows. But after installation of Python 3.5 and TensorFlow, I keep getting the following error when I import the TensorFlow module: ``` >>>import tensorflow Traceback (most recent call last): File "C:\Users\amit\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\amit\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: %1 is not a valid Win32 application. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\amit\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\amit\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\amit\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\amit\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\amit\AppData\Local\Programs\Python\Python35\lib\site-packages\ tensorflow\__init__.py", line 24, in <module> from tensorflow.python import * File "C:\Users\amit\AppData\Local\Programs\Python\Python35\lib\site-packages\ tensorflow\python\__init__.py", line 51, in <module> from tensorflow.python import pywrap_tensorflow File "C:\Users\amit\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\amit\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\amit\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: %1 is not a valid Win32 application. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\amit\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\amit\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\amit\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\amit\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_problems ``` Please suggest what is missing from my end so that above runtime error can be removed.