我正在我的Ubuntu 14.10中安装Tensorflow。我以前安装了 numpy , scipy , sklearn 以及 ipython-notebook 。我按照Tensorflow.org上的官方文档(pip installation)。我的tensorflow安装目录的位置是 /usr/local/lib/python2.7/dist-packages 。我在Ubuntu终端中执行import tensorflow as ts
时出现以下错误。
>>> import tensorflow as tf
RuntimeError: module compiled against API version 0xa but this version of numpy is 0x9
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/tensorflow/__init__.py", line 24, in <module>
from tensorflow.python import *
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/__init__.py", line 60, in <module>
raise ImportError(msg)
ImportError: Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/__init__.py", line 49, in <module>
from tensorflow.python import pywrap_tensorflow
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 28, in <module>
_pywrap_tensorflow = swig_import_helper()
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/pywrap_tensorflow.py", line 24, in swig_import_helper
_mod = imp.load_module('_pywrap_tensorflow', fp, pathname, description)
ImportError: numpy.core.multiarray failed to import
Error importing tensorflow. Unless you are using bazel,
you should not try to import tensorflow from its source directory;
please exit the tensorflow source tree, and relaunch your python interpreter from there.
根据错误,它必须与numpy。我尝试使用命令sudo pip install --upgrade numpy
升级numpy,但这似乎没有升级我现有的numpy版本,问题仍然存在。
解决此问题的任何建议?
答案 0 :(得分:5)
正如我在描述中提到的,我以前安装了numpy。为了让TensorFlow正常运行numpy必须在那里。我的机器中有两个numpy版本。
当我输入
时>> import numpy
>> print numpy.__version__
我得到1.8.something作为我的numpy版本。根据我读过的帖子,这个有些陈旧,并不同意Tensorflow,所以我尝试通过
升级numpy版本pip install numpy --upgrade
命令。我仍然通过在python控制台中执行上述命令获得1.8。*作为我的numpy版本。我接下来要做的是将我的numpy定位在python中并从那里移除numpy。这些是我用来定位和删除numpy的命令。
numpy.__path__ #to locate numpy location/path
然后我退出python控制台并在Ubuntu终端执行以删除numpy。
sudo rm -rf /path_to_numpy/numpy #this removed numpy 1.8.* version
然后我运行sudo apt-get update
命令并再次检查numpy版本,现在python控制台反映出我指的是较新版本的numpy( 1.11.3 )。
问题解决了。
(在成功解决此问题后,我在安装Tensorflow时又遇到了另一个问题。在这种情况下,我必须升级 python 六个 包)
现在Tensorflow在我的Ubuntu 14.10中运行良好:)
感谢您的关注:)
答案 1 :(得分:1)
您是否按照说明进行操作?
请退出tensorflow源代码树,然后重启你的python 从那里翻译。
答案 2 :(得分:0)
我在OS X上遇到了同样的问题(10.12)。和你一样,我陷入了一个循环,两个版本的python没有匹配,但重新安装并没有解决不匹配问题。最终,更彻底的删除和重新安装工作:
sudo pip install --upgrade pip
)virtualenv --system-site-packages ~/tensorflow
)sudo pip install --upgrade tensorflow
)