Conda的环境管理功能允许我们同时安装若干不同版本的Python,并能自由切换。对于安装过程,假设我们采用的是Python 2.7对应的安装包,那么Python 2.7就是默认的环境(默认名字是root,注意这个root不是超级管理员的意思)。
假设我们需要安装Python 3.4,此时,我们需要做的操作如下:
1. 创建环境:创建一个名为python34的环境,指定Python版本是3.4(不用管是3.4.x,conda会为我们自动寻找3.4.x中的最新版本)
conda create --name python34 python=3.4
- --name 同样可以替换为 -n
- 如果要安装指定的版本号,则只需要在包名后面以 = 和版本号的形式执行。如:
conda create --name python2 python=2.7
,即创建一个名为“python2”的环境,环境中安装版本为2.7的python。 - 如果要在新创建的环境中创建多个包,添加多个包名以空格隔开即可。如:
conda create -n python3 python=3.5 numpy pandas
,即创建一个名为“python3”的环境,环境中安装版本为3.5的python,同时也安装了numpy和pandas。
2. 激活环境 / 切换环境:安装好后,使用activate激活某个环境
source activate python34 # for Linux
conda activate python34 # f (更新conda可使用)
激活后,会发现terminal输入的地方多了python34的字样,实际上,此时系统做的事情就是把默认2.7环境从PATH中去除,再把3.4对应的命令加入PATH。此时,再次输入
python --version
可以得到Python 3.4.5 :: Anaconda 4.1.1 (64-bit)
,即系统已经切换到了3.4的环境
3. 退出已激活的环境:如果想返回默认的python 2.7环境,运行
source deactivate python34 # for Linux & Mac
conda deactivate python34 # f(更新conda可使用)
4. 删除环境:删除一个已有的环境
#删除python34环境和其环境所有的包
conda remove --name python34 --all
conda remove -n python34 --all #
#删除python34环境的 Sambamba
conda remove -n python34 sambamba
5. 查看已安装的环境:用户安装的不同python环境都会被放在目录~/anaconda/envs下,可以在命令中运行conda info -e
查看已安装的环境。
#查看当前存在的环境
conda info --envs
conda info -e
conda env list
当前被激活的环境会显示有一个星号或者括号
$conda env list
# conda environments:
#
base * /home/liuliu/software/anaconda3
hypo_env /home/liuliu/software/anaconda3/envs/hypo_env
6. 复制环境
conda create --name py2 --clone python2
克隆“python2”的环境,克隆后的新环境名为“py2”。此时,环境中将同时存在“python2”和“py2”环境,且两个环境的配置相同。
7. 重命名环境
实际上conda并没有提供这样的功能,但是可以曲线救国,原理是先克隆一个原来的环境,命名成想要的名字,再把原来的环境删掉即可
8. 查看某环境中已安装包
conda list -n flye
9. 环境中已安装包
#更新conda,保持conda最新
conda update conda
#更新flye中的numpy包
conda update -n flye numpy
说明:有些用户可能经常使用python 3.4环境,因此直接把~/anaconda/envs/python34下面的bin或者s加入PATH,去除anaconda对应的那个bin目录。这个办法,怎么说呢,也是可以的,但总觉得不是那么elegant……。
如果直接按上面说的这么改PATH,你会发现conda命令又找不到了(当然找不到啦,因为conda在~/anaconda/bin里呢),这时候怎么办呢?方法有二:1. 显式地给出conda的绝对地址 2. 在python34环境中也安装conda工具(推荐)。
安装numpy包到flye环境install
conda install -n flye numpy
创建一个名为flye的环境,并安装Python版本3.6(conda自动寻找3.6.x中最新版本)create
conda create -n flye python=3.6
https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html
https://docs.conda.io/projects/conda/en/latest/commands/clean.html