记录一下自己安装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 python3@
==> Formulae
boost-python3
python@3
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
。现在系统里面默认的Python和pip都是对应的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
正好和我的环境一样,死马当活马医试了一试,居然出现了黑色的进度条,最后:
难道成功了?这可是Python3.7啊,tf官网上不是说不支持Python3.7吗?
果然我进入Python,试了一下import tensorflow as tf
,出现了错误:
看样子真是不支持Python3.7。
于是我换用pip3.6,重新进行上面方法,安装没有报错。进入Python,检验一下安装上了没有:
出现这个错之后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,在此写下记录,以后再出现问题以便参考。