先说点题外话:在用anaconda安装很多次tensorflow失败之后,我放弃了,如果你遇到这样的问题:Traceback (most recent call last)…如果不是因为pip版本,就放弃吧.并不是真的放弃,暂时解决不了先放,等了解的多一些,或许问题就解决了.我查的结果是可能和protobuf 版本,参见tensorflow中文网,但是我尝试解决依然失败.我想我应当换种方法.
安装tensorflow最简单的方法:
tensorflow有CPU和GPU两个版本, 后者支持使用GPU能力来做数据运算, 对GPU的型号有一定限制, 还要安装一堆东西, 对于新手,没必要装(官方推荐先装CPU的).
另外,安装的方法有四种:
- 基于virtualenv
- 基于”native”pip
- 基于 Docker
- 基于 anaconda
官方推荐使用第一种.
所以, 我们这里使用的方法,也就是安装tensorflow最简单的方法就是:
基于virtualenv安装仅支持CPU的tensorflow
如果你是(或自认为是)一个很牛逼的人,看到这里可能会想”老子就想装支持GPU的”那您请按照您的想法,成功之后也请分享一下哈.
如果你也同意先从简单的开始,好,我们一步一步来, 你可能不知道virtualenv是什么,稍后我会给出解释.^_^
还有,本文的链接点开失败的话,可能是因为被墙挡住了,可能需要翻下,想知道如何FQ的同学请参考我的论如何扩展自己的视野 ,或者也可以直接百度 XX-net或者Lantern
-
用下面命令安装pip和virtualenv
sudo apt-get install python-pip python-dev python-virtualenv
注:后面会给出python-dev是什么
-
创建一个virtualenv环境
virtualenv --system-site-packages targetDirectory
注意:这里的”targetDirectory”定义了virtualenv的根目录,这里推荐使用 ~/tensorflow,所以这里的输入是:
virtualenv --system-site-packages ~/tensorflow,
-
激活刚才创建的virtualenv环境
一般情况下(如果你用的是ubuntu自带的终端或者用的不是csh)输入:
source ~/tensorflow/bin/activate
如果你用的终端是csh,请输入:
source ~/tensorflow/bin/activate.csh
输入命令后,你的命令行前面会出现”(tensorflow)”,如果成功的话.
4. 现在,在这个已经被激活了的tensorflow环境下,使用下面语句安装tensorflow的cpu版
(tensorflow)$ pip install --upgrade tensorflow # 如果你用 Python 2.7
(tensorflow)$ pip3 install --upgrade tensorflow # 如果你用Python3.n
当然,如果你还没有开始学习Python,建议安装Python2.7,从Python2.7学起.因为你总要学会2.7,然后你会发现学更高版本会变得比较容易.
如果你这里没有遇到问题,成功了,如下图,那么安装就结束了~:
如果没有成功, 典型的可能是安装的pip版本太低了.参见tensorflow官网 基于virtualenv安装的部分
对了,声明一下,这里的几个步骤,就是我翻译官网的哈~
下面是名词解释部分:
pip:
官方解释是”The PyPA recommended tool for installing Python packages.”
pip是PyPA推荐的Python包安装工具.
这里PyPA全称:Python Packaging Authority
PyPA is a working group that maintains many of the relevant projects in Python packaging.
PyPA姑且可翻译为Python包管理局
参见这里
virtualenv
参见这里
virtualenv is a tool to create isolated Python environments.
virtualenv是一个创建独立Python环境的工具.
正如他的名字一样:virtual env即virtual environment
python-dev
参见这里
The libraries and header files needed for Python development
dev即development的缩写.python-dev是用于python开发需要的库.