conda的安装和配置方法
-
安装miniconda
1.1 说明
conda是一个开源的软件包管理工具和环境管理系统,可以轻松创建多个软件环境,并在多个环境之间轻松切换。例如,我们可以分别创建python3和python2的独立软件环境,并在需要该环境时轻松进行切换(根据工作目录)。 conda的配置工具有两个,miniconda(命令行工具,占用空间约400M),anaconda(GUI工具,占用空间约3G)。
想都不用想,肯定是用miniconda啦,毕竟配置的时间非常短,没什么大不了的。1.2 下载安装包
下载官方miniconda安装包,在下载页面选择对应平台的安装包进行安装。 自带python环境,可以根据自己长期使用的版本进行选择,但是不建议在默认环境下安装软件包。1.3 安装注意事项
下载好安装包后,安装时可以选择作为用户软件安装(储存到用户文件夹),或者做为系统软件安装(所有用户都可以使用)
到下面这一步时,勾选两个选项,其他按默认
这两个选项分别是,添加miniconda至环境变量PATH,注册miniconda所带的python为默认环境。如果你的环境里已经有常用的python环境,并且不方便卸载。建议先在虚拟机尝试使用一下miniconda,确认你需要的软件包都可以在conda环境下使用后,再安装。
-
设置conda环境
2.1 搜索可用的python版本
在终端运行以下命令conda search python=2.7
aos-cube需要2.7版本的python,具体选2.7哪一个版本并不是很关键
2.2 创建一个环境名称为aos的conda环境
在终端运行以下命令conda create --name aos python=2.7.15
创建环境的过程中会让你确认该环境所需软件包,输入y后按回车就可以了。在此阶段可同时安装conda支持的软件,如nodejs等,但是aos-cube不在支持列表中。
2.3 激活名称为aos的conda环境
在终端运行以下命令source activate aos
因为bash环境可以当成Linux环境,所以在这里要使用Linux的激活方式。激活环境后,可以用pip安装软件包到该环境中,不会影响其他环境。
2.4 无效化名称为aos的conda环境
在终端运行以下命令source deactivate aos
在VSCode的日常使用中,一般不需要无效化conda环境
2.5 删除conda环境
不需要再使用一个conda环境时,可以在终端运行以下命令删除conda remove -n 环境名称 -all
-
conda常用命令
3.1 列出当前环境所安装的软件包版本
conda list
3.2 在当前环境中安装新的软件包
有两种方式:
第一种是通过conda install
命令安装conda支持的软件包。
第二种是通过pip
命令安装软件包。(其他环境也一样例如nodejs可以用npm) -
设置VSCode的bash终端,自动激活相关conda环境
4.1 调用机制分析
VSCode可以在用户设置或者工作区设置里,设置一个环境变量(设置部分请看下一小节),这个环境变量是可以传递给shell的。我们已经把VSCode的内置终端换成了bash,那我们可以在~/.bash_profile文件里写一个简单的变量判断语句,来灵活配置conda环境。4.2 设置环境变量
首先,我们打开用户设置,点击菜单中的 文件 --> 首选项 --> 设置 ,并点击 用户设置 选项卡
增加这一条内容:"terminal.integrated.env.windows": {"python_env":"aos"},
这样设置后,默认的python环境就是前面第2节内容创建的aos环境了
只想在固定的目录环境中使用conda环境,就要在该目录的setting.json文件中添加这个配置工作区和用户设置同时存在此设置时,工作区的设置(setting.json文件)会优先于用户区域的设置
4.3 成功激活环境的必要条件
4.3.1 用户设置要有以下两条内容"terminal.integrated.shell.windows": "C:/Program Files/Git/bin/bash.exe", "terminal.integrated.shellArgs.windows": ["-l"], //启用.bash_profile,conda环境必须设置
也就是说,必须将内置终端切换成bash,Git自带的也好,自行安装的MinGW也好。另外第二条是给alios-studio用的,task调用shell时,默认不开启登陆模式,需要用此选项开启。开启登陆模式后,GUI工具才会正确调用.bash_profile的设置,激活conda环境。
4.3.2 python_env环境变量设置
terminal.integrated.env.windows": {"python_env":"aos"},
这个设置要在用户设置或者工作区设置里根据OS平台的不同,
windows
段可以修改成osx|linux
,例如Linux平台就要换成terminal.integrated.env.linux
,上一节设置内容也一样。4.3.3 ~/.bash_profile文件里,要根据python_env变量判断是否激活conda环境
在终端运行,添加判断语句到~/.bash_profilecat >> ~/.bash_profile << "EOF" if [ $python_env ]; then source activate $python_env else echo 'python_env NOT SET' fi EOF
此命令会添加4行代码至~/.bash_profile