【问题标题】:Python unable to import tensorflow to Mac OS X 10.8Python 无法将 tensorflow 导入 Mac OS X 10.8
【发布时间】:2016-02-12 04:40:46
【问题描述】:

我正在尝试在我的 mac air 上安装 tensorflow(规格:OSX 10.8.4,4GB RAM)。虽然 tensorflow 安装干净,就像在 tensorflow.org 页面上一样,并且我能够执行 $ source bin/activate 以获得 tensorflow 提示,但我无法在 python 中导入包。这就是我得到的:

    >>> import tensorflow
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/site-packages/tensorflow/__init__.py", line 4, in <module>
    from tensorflow.python import *
  File "/usr/local/lib/python2.7/site-packages/tensorflow/python/__init__.py", line 22, in <module>
    from tensorflow.python.client.client_lib import *
  File "/usr/local/lib/python2.7/site-packages/tensorflow/python/client/client_lib.py", line 35, in <module>
    from tensorflow.python.client.session import InteractiveSession
  File "/usr/local/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 11, in <module>
    from tensorflow.python import pywrap_tensorflow as tf_session
  File "/usr/local/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 28, in <module>
    _pywrap_tensorflow = swig_import_helper()
  File "/usr/local/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow', fp, pathname, description)
ImportError: dlopen(/usr/local/lib/python2.7/site-packages/tensorflow/python/_pywrap_tensorflow.so, 2): Symbol not found: ___sincos_stret
  Referenced from: /usr/local/lib/python2.7/site-packages/tensorflow/python/_pywrap_tensorflow.so
  Expected in: /usr/lib/libSystem.B.dylib
 in /usr/local/lib/python2.7/site-packages/tensorflow/python/_pywrap_tensorflow.so

我查看了关于 tensorflow 的常见问题部分,并搜索了上面的 ImportError,但到目前为止还没有运气。我想知道这是否是 Error in python after 'import tensorflow': TypeError: __init__() got an unexpected keyword argument 'syntax' 中引用的 protobuf 问题。 提前致谢。

【问题讨论】:

  • 所以如果你想知道它是否是protobuf,你为什么没有尝试安装最新的protobuf,还有人有六个问题。尝试重新安装这两个包。
  • 尝试创建一个虚拟环境并在其中安装张量流。你也可以安装一些好的shell,比如ipython,然后导入tensorflow。

标签: python macos tensorflow


【解决方案1】:

问题似乎是 TensorFlow 的二进制分发版与 Mac OS X 10.8 不兼容。错误消息的相关部分是这样的:

Symbol not found: ___sincos_stret

根据varioussources,这是在使用为 10.8 (Mavericks) 上较新版本的 Mac OS X 编译的二进制文件时的一个已知问题,因为符号 ___sincos_stret 未在标准库中为此定义操作系统的版本。

要解决此问题,您需要 (i) 升级到 Mac OS X 10.9 或更高版本,(ii) 按照 install from source 的说明进行操作,或 (iii) 使用 Docker

【讨论】:

  • Versionitis:“从源代码安装”说“我们建议使用自制软件安装 bazel ...”;自制软件说“bazel:需要 OS X Yosemite 或更新版本。”
【解决方案2】:

我有类似的问题。我使用了 docker 工具箱并且能够运行 tensorflow。您可以关注我的question 和我的解决方案。

【讨论】:

  • 请不要发布(链接到)duplicate answers。相反,您的问题应该作为这个问题的副本关闭 - 特别是因为您的答案与mrry 在此处提供的信息基本相同。
猜你喜欢
  • 2011-06-15
  • 1970-01-01
  • 2013-05-03
  • 2016-07-03
  • 1970-01-01
  • 2013-03-03
  • 2012-12-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多