我写了简单的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 Mojave
,pyhton2.7
和tensorflow 1.5.0
答案 0 :(得分:0)
我解决了我的问题。错误和警告是独立的。
无论是否发生警告,Mac OS都可以在终端中运行tensorflow。
主要问题是python即使安装了google.protobuf模块也无法识别...
首先检查protobuf模块和google模块是否已安装。
pip install google
和pip 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
文件,可以解决此问题。
我希望遇到像我这样的问题的人可以通过上述方法解决它。