Linux安装Anaconda和TensorFlow

众所周知Python常用的版本有2.x和3.x,常常会引起版本问题。由于我在Linux系统中已经安装有Python3.x和对应的TensorFlow,现在遇到需要跑在Python2.x下的TensorFlow工程时,就很麻烦,因此可以用Anaconda来建立一个独立的小环境来另外安装Python2.x及其对应的TensorFlow来跑这个工程。

Anaconda

Anaconda(官网)是什么?其实就是一个“开源包管理系统和环境管理系统”,主要用于解决我遇到的上述问题,需要安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。它适用于Linux,OS X和Windows,是为Python程序创建的,但可以打包和分发任何软件。所以虽然我这里主要用于Python,但其实也可以用于其他很多环境。

对应于Python2和Python3,Anaconda也有两种版本,分别为Anaconda2和Anaconda3。两个版本可以在官网很方便地下载到安装包:

官网下载安装包

选择系统后下载对应的包即可,如果不确定自己的系统情况,可以通过命令查看:

$ uname -a

其实还有一种体积更小的版本叫做Miniconda,区别在于:

Miniconda是一个小的“引导”版本,只包括conda,Python和它们依赖的包。 超过720个科学软件包及其依赖项可以使用“conda install”命令从Continuum存储库单独安装。
Anaconda包括conda,conda-build,Python和超过150个自动安装的科学包及其依赖项。 与Miniconda一样,可以使用“conda install”命令单独安装超过250个额外的科学软件包。

下载包后会得到一个名为类似“Anaconda2-5.2.0-Linux-x86_64.sh”的文件,使用命令:

$ bash Anaconda2-5.2.0-Linux-x86_64.sh   #Python 2.7版本

即可进行安装,当然如果下载的是其他版本的Anaconda,替换掉安装包名即可。

在安装过程中,首先会给你看许可申明,这里可以一直按回车,不用担心后面会漏掉什么命令。接着会问你是否同意许可,输入yes同意。然后会询问你安装路径,这里建议直接回车安装到默认路径(会在用户根目录下生成一个anaconda2的文件夹,类似 ~/anaconda2)。最后会问你是否将Anaconda安装路径加入到环境变量(.bashrc)中,输入yes,这样以后在终端中输入python即可直接进入Anaconda的Python版本:

$ python --version
Python 2.7.15 :: Anaconda, Inc.

这里由于我原本就安装有Python2.x和Python3.x,担心这里会影响我的原有版本,就输入的no,但这样的话会导致你无法随意通过conda命令来操作anaconda,最后我还是将其加入了环境变量,如果上一步输入了no,可以通过下面的命令将其加入环境变量:

Do you wish the installer to prepend the Anaconda2 install location
to PATH in your /usr/local/app/.bashrc ? [yes|no]
[no] >>> no

You may wish to edit your .bashrc to prepend the Anaconda2 install location to PATH:

export PATH=/usr/local/app/anaconda2/bin:$PATH

Thank you for installing Anaconda2!

$ conda info
Hey! No command 'conda' found, did you mean 'cone'?

$ # 将anaconda的bin目录加入PATH,根据版本不同,也可能是~/anaconda3/bin
$ echo 'export PATH="~/anaconda2/bin:$PATH"' >> ~/.bashrc 
$ source ~/.bashrc  # 更新bashrc以立即生效

$ conda --version 
conda 4.5.4

至此,anaconda安装完毕。

这里再提一嘴conda和anaconda的关系:

这里先解释下conda、anaconda这些概念的差别。conda可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。Anaconda则是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等,所以也称为Python的一种发行版。其实还有Miniconda,顾名思义,它只包含最基本的内容——python与conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种选择。

关于Anaconda的常用命令有:

$ # 创建一个名为tensotflow的环境,指定Python版本是2.7(不用管是2.7.x,conda会为我们自动寻找2.7.x中的最新版本)
$ conda create --name tensotflow python=2.7  # 这里的--name可以简化为-n

$ source activate tensotflow  # 安装好后,使用activate激活某个环境
$ # 激活后,会发现terminal输入的地方多了tensotflow 的字样

$ # 此时,可以安装和操作一些包

$ source deactivate tensotflow   # 如果想返回普通环境,运行

$ conda remove --name tensotflow --all  # 删除一个已有的环境


$ # conda的包管理类似pip

$ conda install scipy  # conda安装scipy

$ conda list  # 查看已经安装的packages

$ conda list -n tensotflow   # 查看某个指定环境的已安装包

$ conda search numpy  # 查找package信息

$ conda install -n tensotflow numpy  # 安装某个指定环境的package
$ # 如果不用-n指定环境名称,则被安装在当前活跃环境,也可以通过-c指定通过某个channel安装

$ conda update -n tensotflow numpy  # 更新package

$ conda remove -n tensotflow numpy  # 删除package

安装TensorFlow

现在我们就先创建一个新的Anaconda环境来安装和使用我们的TensorFlow。

首先创建python2.7下的名为tensorlfow的环境:

$ conda create --name tensotflow python=2.7

此时anaconda会检查并提示你需要在虚拟环境安装一些包,输入y确认即可。环境创建好就会提醒你:

# To activate this environment, use:
# > source activate tensorflow
#
# To deactivate an active environment, use:
# > source deactivate

第一个命令用于进入(激活)名为tensorflow的环境,第二个命令用于退出该环境,注意这里我们只是命名该环境为tensorflow,真正的TensorFlow还没安装呢。

现在我们进入该环境并安装TensorFlow。

$ source activate tensorflow
(tensorflow) $ 
$ # 注意进入环境后所有的命令钱都会自带一个(tensorflow)表示你在该环境。

然后我们使用“anaconda search -t conda tensorflow”命令来查询conda有哪些TensorFlow的安装包(其实此时也可以通过TensorFlow官网的各种传统方法安装TensorFlow,但既然我们已经创建了Anaconda,而anaconda本身就是个包管理器,那不如就利用它来方便安装)。输入命令后会出现一大堆安装包版本,类似下面这样:

(tensorflow) $ anaconda search -t conda tensorflow

Using Anaconda API: https://api.anaconda.org
Run 'anaconda show <USER/PACKAGE>' to get more details:
Packages:
     Name                      |  Version | Package Types   | Platforms       | Builds    
     ------------------------- |   ------ | --------------- | --------------- | ----------
     GlaxoSmithKline/tensorflow |   0.12.0 | conda           | linux-64        | py27hb0d0e74_0
     HCC/tensorflow            |    1.7.0 | conda           | linux-64        | py34_1, py27_1

会有一个大表格该给你展现,根据你的需求来选择一个即可,比如我选择名为“jjh_ppc64le/tensorflow-gpu”的版本,那么使用命令来查看细节:

(tensorflow) $ anaconda show jjh_ppc64le/tensorflow-gpu
Using Anaconda API: https://api.anaconda.org
Name:    tensorflow-gpu
Summary: TensorFlow is a machine learning library
Access:  public
Package Types:  conda
Versions:
   + 1.1.0
   + 1.2.1

To install this package with conda run:
     conda install --channel https://conda.anaconda.org/jjh_ppc64le tensorflow-gpu

其实上面就已经告诉你怎么安装了,使用最后一行命令即可。

$ conda install --channel https://conda.anaconda.org/jjh_ppc64le tensorflow-gpu

上面可以看到它其实给出了两个版本,如果想安装其中一个特定版本,可以指定:

$ conda install --channel https://conda.anaconda.org/jjh_ppc64le tensorflow-gpu=1.1.0

anaconda同样会为你检查你缺少哪些包,并询问你是否安装,输入y确认即可。

至此TensorFlow就安装完成了,如果想检查是否安装成功,可以进入python来import试一试:

(tensorflow) $ python
Python 2.7.15 |Anaconda, Inc.| (default, May  1 2018, 23:32:55) 
[GCC 7.2.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf  # 此时不报错则表示安装成功了
>>> tf.__version__    # 查看安装的TensorFlow版本
'1.10.0'

遨游去吧。


查看作者首页

参考文章:
Anaconda使用总结
Anaconda+Tensorflow环境安装与配置
Conda工具使用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容