以下记录在Ubuntu16.04 上如何安装、卸载anaconda,主要目的是为了在ubuntu 16.04上搭建tensorflow开发环境。
1. 卸载Anaconda(如果系统中已经有安装)
第一步、直接删除anaconda目录,rm -rf anaconda3(这里我安装过anaconda3);
第二步、修改用户目录下的.bashrc,移除(或者屏蔽):
第三步、应用,即使以上修改及时生效:
source .bashrc
第四步、关闭终端重新登录系统
2.安装Anaconda
安装Anaconda相对比较简单,所以我选择了这种方式。
2.1 选择对应的Anaconda版本
为什么要说“对应”的版本?首先,我下载的Anaconda版本是Anaconda3-5.0.1-Linux-x86_64。它包含的Python版本是3.6.3。我也尝试过Anaconda3-5.3.0-Linux-x86_64,其中包含的Python版本是3.7,但是当下载Tensorflow(GPU/CPU)并安装时,发现进行无法调用到Tensorflow的API。查了一些资料,最后把原因归结到Tensorflow对Python3.7的支持还不够完善,因此我为了方便,就直接安装5.0.1版本的Anaconda。当然,根据Anaconda官网的说明,应该也是可以安装最新版本的Anaconda,之后可以基于此安装3.6版本的python,我没有去这样尝试,后面我会再尝试一下,再补充本文。
下面我们还是看看具体的安装步骤吧。假设我们已经完成5.0.1版本的Anaconda下载。
2.1.1 命令行安装 Anaconda
bash Anaconda3-5.0.1-Linux-x86_64.sh
2.1.2 执行上述命令的开始,会提示license信息,并询问是否接受此license,选择:yes
Do you accept the license terms?[yes|no]
[no]>>yes
2.1.3 修改安装路径
默认的安装路径是当前执行安装命令的用户所在的路径,通常是:/home/username/anaconda3
我没有用默认的选项,我选择安装的路径是:/usr/local/anaconda3
2.1.4 等待安装过程结束(保持网络稳定)
通常,如果没有异常(比如网络等因素),Anaconda会帮助我们自动下载所有依赖的库并安装之。
2.1.5 询问是否要加入到环境变量中?
Do you wish the installer to prepend the Anaconda3 install location
to PATH in your /home/username/.bashrc ?
[no]>>yes
说明一下:我这里没有这样做,但是建议按照以上来执行。原因是我开始以为可以用管理员账号安装到系统环境下,结果发现还是需要每个用户各自设定各自路径下的环境变量才能使用conda命令。
3. 安装Tensorflow(GPU)
3.1 创建一个conda环境,我这里创建了一个tensorflow(读者也可以选择一个自己喜欢的名称),并且需要选择对应的python版本,我这里选择的3.6版本:
conda create -n tensorflow python=3.6
接下来conda会帮我们安装一些所需要的依赖库,遇到询问,选择y继续安装即可。
3.2 激活tensorflow环境
source activate tensorflow
如果成功,命令行会显示:
(tensorflow)username@ubuntu:$
当然也可以退出,执行命令如下:
source deactivate
3.3 在名称为tensorflow环境下安装tensorflow的GPU版本(有点拗口?)
在激活tensorflow的conda环境下,执行:
conda install -n tensorflow -c https://conda.anaconda.org/jjhelmus tensorflow-gpu=1.12
我是安装的1.12版本,亲测也是可以用。
安装过程,anaconda会自动安装所有依赖的库,遇到提示是否安装,选择y即可。
3.4 验证tensorflow
同样的,进入tensorflow环境(激活),然后执行python,进入python shell环境,
import tensorflow as tf
with tf.device('/cpu:0'):
a = tf.constant([1.0,2.0,3.0], shape=[3], name='a')
b = tf.constant([1.0,2.0,3.0], shape=[3], name='b')
with tf.device('/gpu:1'):
c = a + b
sess = tf.Session(config=tf.ConfigProto(allow_soft_placement=True, log_device_placement=True))
sess.run(tf.global_variables_initializer())
print(sess.run(c))
如果没有报错(其实单独执行第一行就可以验证tensorflow是否OK,其他的主要是为了验证GPU),表示安装成功。
说明:以上我也参考了网上其他前辈的文章,在此也表示感谢。