您的位置:首页 > 大数据 > 人工智能

Mac下首次安装tensorflow运行时会出现ImportError: numpy.core.multiarray failed to import的解决方案

2016-08-17 16:46 666 查看
作为深度学习的初学者,首先要攻克的就是程序运行环境的配置,鉴于在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中的环境也需要修改。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息