和我的电脑死磕了两天,终于让我把tensorflow安在了我的虚拟机上的ubuntu上,这个过程肯定不能用艰辛来形容,太心累了(/ω\
)。下面我把这两天遇到的坑以及填坑过程都写下来,有需要的小伙伴可以作为参考。
  提前声明我的操作系统以及使用的软件版本:
     主机操作系统:Windows7 64位
     主机上python版本:32位 python3.6
     虚拟机:VMware workstation 14
     客户机操作系统:Ubuntu16.04.3
     Tensorflow:CPU版本

关于windows上安装tensorflow的坑

  想要在Windows上安装tensorflow必须注意的一个问题就是:需要64位的python!需要64位的python!需要64位的python!
(重要的事情说三遍)但是我的系统上之前安装python的时候默认选的32位,因为网上的代码以32位为主流。而且当你不知道这个问题的时候,直接在命令行pip的时候会出现提示你没有对应的版本对应:Could
not find a version that satifies the requirement tensorflow(from version:) No
matchinn distribution found for tensorflow
  
而且貌似只支持3.5及以上的版本:


如果安装64位的话貌似容易遇到别的方面的问题,而且我的主机和Anaconda犯冲(可以安装,但是安上三四天左右之后就自己坏掉了,至今没能解决这个问题。。。),所以我的各种计算包全都是自己一个一个pip
install安装的,如果贸然卸掉32位的python,之后还会有很大的工作量,就想用我的虚拟机来搭建Linux的操作系统,在Linux上面来跑tensorflow的代码。
  注意:我在这里也进了坑,因为折腾ubuntu的时候有好大的坑,所以又返回来想试试能不能安装两个3.6版本,让它俩共存。事实证明:python2.7
64位和python3.6 32 位可以和谐的共存,但是两个python3.6真的无法在我的电脑上和谐相处!o(╥﹏╥)o
  所以,到此为止我只剩下了使用虚拟机,至于双系统的也可以,但是我的电脑比较脆弱,我真怕一不小心全都弄坏了就直接回到解放前了。。。所以我选择了虚拟机的方式。

关于VMware workstation上低版本ubuntu的坑


  好吧,首先说我的电脑上一直都有VMware的虚拟机,是大概在两年前装的,还是老版本的10.0。然后装的Ubuntu还是13的,进来的时候系统提示了问题,但是我当时没怎么注意:

而且如果进入Linux终端,因为之前完全没有处理过任何python相关的,所以上来需要看版本,更新等,但是全都出现了问题。
    检查版本以及安装pip失败:
   
    更新失败,一路的忽略、错误和无法下载:
   
   
   

  出现这些问题的时候我就在网上找了好久的资料,什么更新网络设置啊、修改网络源啊都试了个遍,最后的结果是我妥协了,我去下载了最新的ubuntu16.04。注意:如果你的电脑出现了类似的问题,而且是低版本的ubuntu的话,不要再去鼓捣了,换个虚拟机版本吧!
  VMware版本貌似都可以,但是如果之前没有的话直接下载最新的版本即可,下载版本和秘钥可以参考这篇文章:
  http://www.zdfans.com/5928.html <http://www.zdfans.com/5928.html>
  我的VMware14和秘钥都是输入的这个里面的,通过了哦!如果之前有低版本的VMware的话也可以安,就是直接升级了。
  OK!说到这里貌似把这两天的憋屈都说出来了,下面我把整个安装过程写一遍,然后把容易出现问题的地方也强调一下。

1.安装VMware workstation

  按照上面的链接中的地址下载好文件,可以看到下面的这些文件(下载的时候没选,就都下载了):
 
然后点击应用程序直接安装就可以了,路径自己选择就好。其余的可以默认。安装好打开后是这个样子的:

另外,安装14版本的时候,打虚拟机的时候可能会出现黑屏,提示下面的问题:

这个时候可以通过http://blog.csdn.net/longtingjing/article/details/78526858
<http://blog.csdn.net/longtingjing/article/details/78526858> 的方法解决,我的就是这么解决的。

2.安装ubuntu虚拟机

  我们本次使用的是ubuntu16.4版本,下载链接:http://cn.ubuntu.com/download/
<http://cn.ubuntu.com/download/>
  
  我们选择64位版本的,下载之后是ISO镜像文件。
  接着我们在VMware中选择“创建新的虚拟机”——选择“自定义”:
  
  接下来的我们可以直接保持默认状态,直接下一步即可:
  




路径这里需要注意一下:首先路径里面最好不要有中文(安软件久了就知道,有中文可能会遇到意料不到的麻烦!),然后在一个空的文件夹里面建了两个空文件夹:system和ROM,这个时候选择ROM。继续:

处理器核心这个看自己喜好和需求,我的一般都是选择两个核心,2个处理器。

内存的话也是按照需求,我选择了2G。

这个网络连接也是默认的,选择NAT,之后我们是需要联网下东西的。




磁盘这个我保留的默认20G。需要多的话也可以自己往大了选。

注意:这个时候选择刚才我们那个system文件夹来保存。

  OK!安装完成,我们该去启动了~~
  在开机之前,我们需要进行如下操作,也就是将操作系统加进来。
  
  
  浏览选择之前下载的那个ISO文件。确定之后就可以开机了。
  
  
  左侧选择“中文简体”,之后选择右边的安装。
  
  两个都选上。
  
  
  上面的分区比较重要,尤其挂载点等不要选错,后面的空间大小可以有适当调整。
  
注意:这里有个坑,可以看到我这个时候分区完,想要继续下一步的时候压根看不到continue了,我在这个问题上折腾了好久,终于在网上找到了问题来源和解决方案:主要是因为电脑分辨率和VMware的不同,解决方案就是按住Alt的同时鼠标左键按住拖动即可看到了

  
  
  
  
  注意:这里的密码要记住,以后的开机和使用超级权限的时候都需要这个密码。
  之后就是安装了,等待。。。
  

3.安装VMware Tools


  在默认情况下,我们是不能直接将虚拟机中的文件和主机的文件进行复制粘贴的,但是,如果在Linux中下载文件什么的比较麻烦而且貌似网速不快,所以我们安装VMware
Tools来帮助我们。具体的操作可以看http://blog.csdn.net/u013142781/article/details/50539574
<http://blog.csdn.net/u013142781/article/details/50539574>
这篇博客的,我就是这么做的,而且成功安上,并且能用。
  安上之后,我们就可以在主机上下载Anaconda的Linux版本,然后拖到ubuntu的桌面上去,省的我们在Linux里面再去下载。

4.Anaconda的安装

  进入Linux系统之后,打开终端,我们可以看一下系统自带的python版本。ubuntu16自带2.7和3.5.可以通过python -V 来查看版本:
  
  这个时候我们可以进行更新:
  sudo apt-get update 然后输入密码,等待更新。但是这个时候可能会遇到问题:
  
也就是说,出现了apt被占用,这个时候我们可以通过下面的解决方式来解决。

也就是输入ps -aux 然后找到所有的apt进程,之后使用sudo kill PID(四位数字) 进行进程终止:

这回再输入更新的上面那句代码就可以了。之后再安装pip:sudo apt-get install python-pip
  将下载的Anaconda复制到ubuntu桌面上,然后在终端切换目录:cd 桌面
  安装: bash Anaconda3-5.0.4-Linux-x86_64.sh(这个就是下载的文件的名字)

  然后直接一路yes就可以了,后面提示有个加入环境变量,也是yes,但是我反复装了3遍,这个步骤并没有让我选择,而是直接就是no,所以等这个安装完了需要手动修改,而且上面会有提示的。具体做法:在终端输入
sudo gedit /etc/profile,打开profile文件。添加语句export
PATH=/home/Ada/anaconda3/bin:$PATH
(这句是上面提示的,和我这个肯定不一样的),保存,退出。然后需要重启终端,甚至重启ubuntu。重启之后,在终端输入conda
list即可查看anaconda安装的各种包,也说明环境变量加入成功。
  想要使用anaconda的就可以直接输入spyder 打开Spyser.或者 anaconda-navigator 打开Anaconda
Navigator。
  

4.安装tensorflow

  终于来到了我们的目标任务——tensorflow。打开终端,输入:
  pip install tensorflow 然后一路yes,enter即可。
  
可以看到notebook中导入tensorflow没有问题,那么就是成功装上了!任务完成!!

后记


  这个问题真的折磨了我两天,期间我打开的填坑的博客没有100个,也有98个。但是说实话,虽然一路踩坑过来,但是当所有问题都解决了,并且找到原因,最后成功的时候,真的特别开心。人生就是踩坑,当个程序媛更需要踩坑!这篇博客记的问题希望能对一些像我一样的小白们有帮助,如果我的博客有什么问题的话欢迎留言,或者给我发邮件~