2017-01-01 71 views
2

我在我的Ubuntu 14.10安裝Tensorflow的過程。我以前安裝numpy的SciPy的sklearnIPython的筆記本。我跟着在Tensorflow.org官方文檔(pip installation)我tensorflow安裝目錄的.The位置/usr/local/lib/python2.7/dist-packages。我在我的Ubuntu終端中執行import tensorflow as ts時出現以下錯誤。Tensorflow(僅限CPU)安裝錯誤| Ubuntu 14.10 | numpy的1.8.2

>>> 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。我試圖升級numpy的使用命令sudo pip install --upgrade numpy但是這似乎並沒有升級我現有的numpy的版本和問題仍然存在。

解決這個問題有什麼建議?

回答

5

正如我在描述中提到的,我以前安裝numpy的。對於TensorFlow正常運行numpy必須在那裏。我的機器中有兩個numpy版本。

當我輸入

>> import numpy 
>> print numpy.__version__ 

我得到1.8.something作爲我numpy的版本。根據我讀的線程,這個有點舊,不符合Tensorflow,所以我試圖通過

pip install numpy --upgrade 

命令來升級numpy版本。仍然我通過在python控制檯中執行上述命令,獲得了1.8 *作爲我的numpy版本。接下來我做的是在python中找到我的numpy,並從那裏刪除numpy。這些是我用來定位和刪除numpy的命令。

numpy.__path__ #to locate numpy location/path 

然後我從蟒控制檯出口和在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。在這種情況下,我不得不升級蟒蛇包)

現在Tensorflow效果很好我的Ubuntu 14。10 :)

感謝您的關注:)

1

你按照說明進行操作?

請退出tensorflow源代碼樹,然後從那裏重新啓動您的python 解釋器。

+0

這是堆棧溢出中類似類型的問題的答案,我通過其他方法解決了這個問題。 – CoolCK

0

我在OS X(10.12)上遇到了同樣的問題。像你一樣,我陷入了一個循環,兩個版本的python不匹配,但重新安裝並沒有解決不匹配問題。最終,一個更徹底的刪除和重新安裝工作:

  1. 升級PIP(sudo pip install --upgrade pip
  2. 刪除〜/ tensorflow目錄及其內容
  3. 重裝的virtualenv並激活它按照指示
  4. 創建的virtualenv環境(virtualenv --system-site-packages ~/tensorflow
  5. 重裝tensorflow,使用sudo來處理權限問題
    sudo pip install --upgrade tensorflow