python 更新后 Tensorflow 导入错误
Tensorflow import error after python update
我在 python 2.7 中使用 tensorflow。但是,将 python 2.7.10 更新为 2.7.13 后,我收到 tensorflow
的导入错误
File "", line 1, in
File "/Users/usrname/Library/Python/2.7/lib/python/site-
packages/tensorflow/__init__.py", line 24, in
from tensorflow.python import *
File "/Users/usrname/Library/Python/2.7/lib/python/site-
packages/tensorflow/python/__init__.py", line 63, in
from tensorflow.core.framework.graph_pb2 import *
File "/Users/usrname/Library/Python/2.7/lib/python/site-
packages/tensorflow/core/framework/graph_pb2.py", line 6, in
from google.protobuf import descriptor as _descriptor
ImportError: No module named google.protobuf
来自 pip install protobuf
的输出
Requirement already satisfied: protobuf in /usr/local/lib/python2.7/site-packages
Requirement already satisfied: setuptools in /Users/usrname/Library/Python/2.7/lib/
python/site-packages (from protobuf)
Requirement already satisfied: six>=1.9 in /Library/Python/2.7/site-packages/
six-1.10.0-py2.7.egg (from protobuf)
Requirement already satisfied: appdirs>=1.4.0 in /usr/local/lib/python2.7/site-packages
(from setuptools->protobuf)
Requirement already satisfied: packaging>=16.8 in /usr/local/lib/python2.7/site-packages
(from setuptools->protobuf)
Requirement already satisfied: pyparsing in /usr/local/lib/python2.7/site-packages
(from packaging>=16.8->setuptools->protobuf)
来自which python
的输出:
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
我相信这条路径在 python 更新后发生了变化,但不确定。一个解决方案可能是降级 python,但这似乎是一个糟糕的解决方案?当我在团队中工作时,我想避免由于最终版本不同而重新安装 Tensorflow,但这也许是可行的方法吗?有什么建议吗?
更新:我厌倦了安装tensorflow,但同样的错误不断出现。也许问题是环境变量 which pip
returns /usr/local/bin/pip
(与 python 不同)?
我遇到了类似的问题。确保输入 which pip
和 which python
时 pip 和 python 具有相同的路径。如果它们不同,请更改您的 ~.bash_profile 以便 python 路径与 pip 路径匹配,并使用 source ~\.bash_profile
.
如果还是不行,我会尝试重新安装 pip 和 tensorflow。
我使用这个命令安装了 pip:
wget https://bootstrap.pypa.io/get-pip.py
sudo python2.7 get-pip.py
我在 python 2.7 中使用 tensorflow。但是,将 python 2.7.10 更新为 2.7.13 后,我收到 tensorflow
的导入错误File "", line 1, in File "/Users/usrname/Library/Python/2.7/lib/python/site- packages/tensorflow/__init__.py", line 24, in from tensorflow.python import * File "/Users/usrname/Library/Python/2.7/lib/python/site- packages/tensorflow/python/__init__.py", line 63, in from tensorflow.core.framework.graph_pb2 import * File "/Users/usrname/Library/Python/2.7/lib/python/site- packages/tensorflow/core/framework/graph_pb2.py", line 6, in from google.protobuf import descriptor as _descriptor ImportError: No module named google.protobuf
来自 pip install protobuf
Requirement already satisfied: protobuf in /usr/local/lib/python2.7/site-packages Requirement already satisfied: setuptools in /Users/usrname/Library/Python/2.7/lib/ python/site-packages (from protobuf) Requirement already satisfied: six>=1.9 in /Library/Python/2.7/site-packages/ six-1.10.0-py2.7.egg (from protobuf) Requirement already satisfied: appdirs>=1.4.0 in /usr/local/lib/python2.7/site-packages (from setuptools->protobuf) Requirement already satisfied: packaging>=16.8 in /usr/local/lib/python2.7/site-packages (from setuptools->protobuf) Requirement already satisfied: pyparsing in /usr/local/lib/python2.7/site-packages (from packaging>=16.8->setuptools->protobuf)
来自which python
的输出:
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
我相信这条路径在 python 更新后发生了变化,但不确定。一个解决方案可能是降级 python,但这似乎是一个糟糕的解决方案?当我在团队中工作时,我想避免由于最终版本不同而重新安装 Tensorflow,但这也许是可行的方法吗?有什么建议吗?
更新:我厌倦了安装tensorflow,但同样的错误不断出现。也许问题是环境变量 which pip
returns /usr/local/bin/pip
(与 python 不同)?
我遇到了类似的问题。确保输入 which pip
和 which python
时 pip 和 python 具有相同的路径。如果它们不同,请更改您的 ~.bash_profile 以便 python 路径与 pip 路径匹配,并使用 source ~\.bash_profile
.
如果还是不行,我会尝试重新安装 pip 和 tensorflow。
我使用这个命令安装了 pip:
wget https://bootstrap.pypa.io/get-pip.py sudo python2.7 get-pip.py