原文链接:https://yq.aliyun.com/articles/623166
摘要: conda是一个开源的软件包管理和环境管理系统,可以轻松创建多个软件环境,并在多个环境之间轻松切换。此文介绍了conda的安装和在VSCode下的配置,实现多环境管理和切换
miniconda和VSCode关联配置
设置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_profile
cat >> ~/.bash_profile << “EOF”
if [ $python_env ]; then
source activate $python_env
else
echo ‘python_env NOT SET’
fi
EOF
此命令会添加4行代码至~/.bash_profile