设置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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐