Mac下首次安裝tensorflow運行時會出現ImportError: numpy.core.multiarray failed to import的解決方案

作爲深度學習的初學者,首先要攻克的就是程序運行環境的配置,鑑於在Mac編程的方便性,本人比較傾向於在Mac 下開發。下面介紹下我在配置安裝tensorflow時候出現的問題,如果您也遇到可以作爲參考。

首先在Mac下安裝tensor flow時,官網上有三種方法安裝,本文先簡單介紹下tensorflow的安裝,本人使用的是直接使用pip install 安裝,注意:官網中提示,直接使用pip install安裝程序會將相關的開發包自動更新,導致以前的程序可能無法執行,所以小白注意。

使用一下代碼即可:

sudo easy_install pip
sudo easy_install --upgrade six
sudo pip install --upgrade “對應的tensorflow版本”
安裝完畢後,python下執行,下文對--upgrade有問題補充。

>>> 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 "/Library/Python/2.7/site-packages/tensorflow/__init__.py", line 23, in <module>
    from tensorflow.python import *
  File "/Library/Python/2.7/site-packages/tensorflow/python/__init__.py", line 50, in <module>
    from tensorflow.python.framework.framework_lib import *
  File "/Library/Python/2.7/site-packages/tensorflow/python/framework/framework_lib.py", line 62, in <module>
    from tensorflow.python.framework.ops import Graph
  File "/Library/Python/2.7/site-packages/tensorflow/python/framework/ops.py", line 40, in <module>
    from tensorflow.python.framework import versions
  File "/Library/Python/2.7/site-packages/tensorflow/python/framework/versions.py", line 24, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "/Library/Python/2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 28, in <module>
    _pywrap_tensorflow = swig_import_helper()
  File "/Library/Python/2.7/site-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
提示numpy的版本有問題,然後我就使用 
 pip install -U numpy
將numpy直接更新,當時發現numpy已經是最新的了,那麼問題來了,這個錯誤是怎麼產生的呢,查遍各大論壇,依然都是更新numpy,可每次運行還是會出現上面的錯誤。無奈,把tensorflow卸了重裝,依然出現上面的問題。python的版本沒有問題,tensorflow的版本也沒有問題,所有的開發包都是最新的。無奈,只好從官網下載老版本的tensorflow安裝編譯,可還是出現相同的問題,所以問題不在tensorflow上,還是numpy的問題,難道numpy不是最新的,到numpy官網查詢,本機安裝的就是最新的,這下什麼就難辦了,環境配置不了,更不要提運行程序了。問題就這樣一直拖着。。。。
今天繼續搜索解決方案的時候,突然腦子裏閃現一個方法,我先把numpy直接卸掉,然後重新安裝tensorflow,看看還會不會出現相同的問題,於是乎開始重新安裝。安裝過程如圖所示:


安裝成功,然後在python下
>>> import tensorflow as tf
成功了!!!!竟然沒有報錯

問題補充:


這種方法可能有時還是不能完全解決所有的問題,我在之後的過程中又發現,首次安裝tensorflow的時候如果去掉--upgrade 然後安裝的話就不會出現numpy的調用問題當然,如果不想破壞自己的mac環境或者嫌麻煩,我們也可以使用virtualenv等虛擬環境進行安裝,使用的時候到對應的bin目錄下使用命令source activate就可以,這時候對應的ide中的環境也需要修改。

發佈了35 篇原創文章 · 獲贊 58 · 訪問量 27萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章