我们可以使用conda 来切换不同的环境,主要的用法如下:
1. 创建环境
# 指定python版本为2.7,注意至少需要指定python版本或者要安装的包
# 后一种情况下,自动安装最新python版本conda create -n env_name python=2.7# 同时安装必要的包
conda create -n env_name numpy matplotlib python=2.7
# 也可以使用默认的pythonconda create -n env_name
2.激活环境
# 切换到新环境# linux/Mac下需要使用source activate env_name
source activate env_name
3.退出环境
#退出环境,也可以使用`activate root`切回root环境
source deactivate
4.移除环境
conda remove -n env_name --all
# 同时需要删除home目录下的.conda下的environments.txt里面的内容。
切换到环境下的界面如下:
我们再gcc49这个环境里升级了gcc-4.9.1,因此我们可以看看最后的版本为:
但是切换回原来的环境下,发现gcc还是原来的版本:
这就告诉我们可以灵活运用这一机制,在服务器权限受限的条件下,可以使用conda的环境管理,安装升级某些软件,这样一旦切换成某个环境后,系统会先读取环境下的lib,bin,include等文件,然后才读取系统默认的。这样就可以覆盖原来的一些配置。
当然了,你可以在home目录下安装一些软件,但是如果你想覆盖原来的软件,必须在bashrc中写path环境变量(以及lib等目录也需要配置。),且将相应地路径写在最前面,即:
export PATH=/*/lib:$PATH
这样bashrc就很乱,采用上面的方法默认就是先读取env里的软件,然后读取系统里的软件,而且也不需要配置。
何乐而不为~~~
【说明1】conda里install的软件都是个人编译打包的,可以在https://anaconda.org/ 里面找,搜索对应版本,然后运行里面给出的命令即可切换成你要的,比如
- opencv(包括opencv2,opencv3):https://anaconda.org/menpo/repo?type=conda&label=main
- gcc:https://anaconda.org/serge-sans-paille/gcc_49
或者conda install libgcc
【说明2】升级gcc4.9.1时,发现env装的gcc都带有‘ -4.9’,因此需要建立软连接gcc,链接到gcc-4.9 ,
即: ln -s gcc-4.9 gcc ,该路径下的其他软件同理。