Mac下tensorflow环境安装

记录一下自己安装tensorflow的艰难历程。
我有三个系统,Mac(10.10.5),Ubuntu(19.3),Windows10。
由于Mac的可携带性更高,平时主要使用Mac,所以当然要在Mac上装了。

初期尝试

首先pip install tensorflow,结果:

Collecting tensorflow
Could not find a version that satisfies the requirement tensorflow (from versions: )
No matching distribution found for tensorflow

傻眼了,怎么就装不了了?

在网上找到帖子说,要用Python3.6。
先看了一下我的Python的版本:python --version

Python 3.7.0

是3.7的Python。
我又检查了pip对应的Python版本:pip --version

pip 10.0.1 from /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pip (python 3.7)

pip也是对应的Python3.7。
又上了一趟tensorflow的官网,原来tensorflow还不支持Python3.7。好嘛,没招了,就换用Python3.6吧:brew search [email protected]

==> Formulae
boost-python3
[email protected]
python3
homebrew/linuxbrew-core/boost-python3

居然没有详细的Python对应版本?只有Python3?我怀疑直接brew install python3的话,安装的是最新版本的Python,而不是我需要的Python3.6。咋办?

我只是小白,只能采用笨方法。在Python的官网上开始下载Python3.6.8的dmg安装包;我也不会造*,就这么以每秒5k的网速,干等了一个小时,下载了安装包。

下载完毕,一路同意许可下一步,Python3.6总算装上了。先看一下Python的版本:python3.6 --version

Python 3.6.8

好,Python版本无误。

再看一下pip的版本:pip --version

pip 18.1 from /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pip (python 3.6)

pip也没有问题了。

然后修改了一下bash的加载文件:vim /etc/bashrc,将里面对应的内容改成:

alias python=“python3.6”
alias pip="/usr/local/bin/pip3.6"

重新加载了一下这个文件:source /etc/bashrc。现在系统里面默认的Pythonpip都是对应的Python3.6了。

这下子总算成了吧?

[~]$ pip install tensorflow
Collecting tensorflow
Could not find a version that satisfies the requirement tensorflow (from versions: )
No matching distribution found for tensorflow

难道是我安装的tensorflow版本过高,不支持我的系统?

[~]$pip install tensorflow==1.3.0
Collecting tensorflow==1.3.0
Could not find a version that satisfies the requirement tensorflow==1.3.0 (from versions: )
No matching distribution found for tensorflow==1.3.0

我都要骂人了,等了一个小时换了Python3.6,结果还是不行!

在网上又到处找帖子,看tensorflow官网上的安装方式,可我的机器就是装不上。我甚至想从源码构建tensorflow,但是网上的教程比较繁琐,我也担心用每秒几k的速度下载完相关依赖,到最后还没有成功,那就太浪费时间了。

我不甘心就这么放弃,在Ubuntu上试了一下:pip install tensorflow,居然一遍成功了!难道我就只能在Ubuntu上用tensorflow了吗?5555

找到转机

第二天,又在Windows10上试了一下,Windows10上安装的是Python3.6.1,也是可以直接安装!真的是好气哦,为啥我的Mac就装不上tensorflow?

于是我继续在网上找相关贴子,在一篇帖子中看到有人在Mac10.10.5,Python3.7的环境中用pip装上了tensorflow:
pip3.7 install --upgrade https://download.tensorflow.google.cn/mac/cpu/tensorflow-1.8.0-py3-none-any.whl
正好和我的环境一样,死马当活马医试了一试,居然出现了黑色的进度条,最后:
Mac下tensorflow环境安装

难道成功了?这可是Python3.7啊,tf官网上不是说不支持Python3.7吗?
果然我进入Python,试了一下import tensorflow as tf,出现了错误:
Mac下tensorflow环境安装
看样子真是不支持Python3.7。
于是我换用pip3.6,重新进行上面方法,安装没有报错。进入Python,检验一下安装上了没有:
Mac下tensorflow环境安装
出现这个错之后Python就死掉了。不知道这是什么错误,网上也没找到解决方案。

不过我从上面的安装方法找到了灵感,到官网上找到我需要的tf的whl包,用pip安装不就好了?但是就是找不到适合我的平台的包。从那些包安装都在报错:

tensorflow-1.3.0-cp36-cp36m-macosx_10_11_x86_64.whl is not a supported wheel on this platform.

成功安装

写到这里,总算写到成功安装的地方了:
在网上的一篇帖子里找到了这个命令:
pip3 --default-timeout=10000 install --upgrade https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.3.0-py3-none-any.whl
随后就安装成功了。真的很玄学,这条命令和上面的那条命令有啥差别?为啥这就能安装成功了?不考虑那么多了,反正能用tensorflow了。

在tensorflow官网上也见到其他语言也能使用tensorflow,就是安装一些相应的库。我倒是对C对应的库挺感兴趣的,因为C也是我特别喜欢的语言。

结语

文章到最后,我要声明一点,我并没有从根本上解决安装Tensorflow的问题,我也是在不断尝试中解决的问题,并不知道问题的根本在何处。但反正安装上了tf,在此写下记录,以后再出现问题以便参考。