在OSX中运行Tensorflow

时间:2019-01-21 08:03:59

标签: python tensorflow importerror macos-mojave

我写了简单的MNIST张量流代码...

当我使用PyCharm运行代码时,代码执行得很好。
但是实际上,我想使用python ./mnist.py命令在终端中运行此脚本,因此当我在终端中运行代码时,出现以下错误。

dyld: warning, LC_RPATH $ORIGIN/../../_solib_darwin_x86_64/_U_S_Stensorflow_Spython_C_Upywrap_Utensorflow_Uinternal.so___Utensorflow in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so being ignored in restricted program because it is a relative path
Traceback (most recent call last):
  File "./model_load.py", line 10, in <module>
    import tensorflow as tf
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/__init__.py", line 24, in <module>
    from tensorflow.python import *
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/python/__init__.py", line 52, in <module>
    from tensorflow.core.framework.graph_pb2 import *
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/tensorflow/core/framework/graph_pb2.py", line 6, in <module>
    from google.protobuf import descriptor as _descriptor
ImportError: No module named google.protobuf

人们说这与OSX有关。有关于LC_RPATH的警告。
 现在,我想知道错误是由于ImportError还是LC_RPATH警告引起的

,如果ImportError和警告是另外一个问题。

我该如何解决这个问题?
我正在使用osx Mojavepyhton2.7tensorflow 1.5.0

1 个答案:

答案 0 :(得分:0)

我解决了我的问题。错误和警告是独立的。
无论是否发生警告,Mac OS都可以在终端中运行tensorflow。
主要问题是python即使安装了google.protobuf模块也无法识别...

  • 首先检查protobuf模块和google模块是否已安装。
    pip install googlepip install protobuf

  • 如果在输入两个命令后都遇到相同的错误,则表明模块已安装,但python找不到它。因此,我们需要修改模块,以便python能够识别它。

移动到安装python软件包的目录。
就我而言,/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

在此目录中,找到google目录,并检查其中包含哪些文件。
就我而言,只有protobuf存在。
这就是python无法找到google.protobuf模块的原因。 我们需要添加__init__.py文件,以便python可以在目录中找到模块。
因此,我在__init__.py文件夹中添加了一个空的google文件,可以解决此问题。
我希望遇到像我这样的问题的人可以通过上述方法解决它。