Python 3.6-导入tensorflow时Tensorflow DLL加载失败

时间:2018-08-21 02:06:21

标签: windows tensorflow python-3.6

我在命令提示符下使用Python 3.6上的pip3在以下命令上安装了Tensorflow:

pip3 install tensorflow==1.5

在检查是否可以使用Python从终端导入tensorflow时,出现以下错误消息:

Python 3.6.0rc2 (v3.6.0rc2:800a67f7806d, Dec 16 2016, 23:22:07) [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 "<stdin>", line 1, in <module>
  File "C:\Users\{User}\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\__init__.py", line 24, in <module>
    from tensorflow.python import *
  File "C:\Users\{User}\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\__init__.py", line 52, in <module>
    from tensorflow.core.framework.graph_pb2 import *
  File "C:\Users\{User}\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\core\framework\graph_pb2.py", line 6, in <module>
    from google.protobuf import descriptor as _descriptor
  File "C:\Users\{User}\AppData\Local\Programs\Python\Python36\lib\site-packages\google\protobuf\descriptor.py", line 47, in <module>
    from google.protobuf.pyext import _message
ImportError: DLL load failed: The specified procedure could not be found.

DLL到底缺少什么?

2 个答案:

答案 0 :(得分:1)

安装时是否存在任何问题?另外,当1.9可用时,为什么还要安装tensorflow 1.5?我首先尝试pip uninstall tensorflow,然后尝试pip install tensorflow。如果仍然有问题,我将尝试转到here下载.whl文件,然后可以执行pip install [whatever the filename is].whl。直接安装这些.whl文件为我解决了许多问题。

要回答您的问题,您似乎缺少了Google protobuf的descriptor.py。您可以尝试下载该文件并直接移动描述符.py,但是我的猜测是,如果找不到一个文件,它可能还会丢失其他内容。

看看tensorflow导入的其他问题,看起来问题是与python 3.6的兼容性(pip的路径不同),但是看起来这是在去年某个时候解决的。如果仍然遇到问题,当然可以尝试升级pip,python和tensorflow。然后尝试降级到python 3.5看看是否可行。祝你好运!

答案 1 :(得分:1)

将protobuf版本更改为pip install protobuf == 3.6.0