代码之家  ›  专栏  ›  技术社区  ›  Jebathon

python 3.6-导入tensorflow时tensorflow dll加载失败

  •  0
  • Jebathon  · 技术社区  · 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中到底缺少什么?

    1 回复  |  直到 6 年前
        1
  •  1
  •   tigerninjaman    6 年前

    安装时有什么问题吗?另外,当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。您可以尝试下载并直接移动descriptor.py,但我猜如果找不到一个文件,它可能也会丢失其他东西。

    从TensorFlow导入的其他问题来看,问题似乎是与具有与PIP不同路径的Python3.6的兼容性,但这似乎在去年的某个时候得到了解决。当然,如果您仍然陷入困境,请尝试升级pip、python和tensorflow;然后尝试降级到python 3.5以查看是否有效。祝你好运!