VSCode 设置环境变量(WSL 2)

环境:openEuler、Windows 11、WSL 2、python 3.12.3

背景:使用vscode连接Windows 的Linux子系统,开发python项目,获取环境变量失败

时间:20241029

说明:使用os.environ获取不到变量,设置/etc/profile、/root/.bash_profile等均不能解决问题

问题说明

源码部分:

注:此代码不为我写,我也不清楚为什么不使用get方法(python)

python 复制代码
def EmbedModel():
  return AzureAIEmbs() if os.environ["OPENAI_API_TYPE"] == "AzureAI" else OpenAIEmbs()

运行到此部分代码时,出现以下错误

bash 复制代码
  File "/home/jack/xxxxxxxxxxxx/model.py", line 8, in EmbedModel
    return AzureAIEmbs() if os.environ["OPENAI_API_TYPE"] == "AzureAI" else OpenAIEmbs()
                            ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/opt/soft/python3/lib/python3.12/os.py", line 685, in __getitem__
    raise KeyError(key) from None
KeyError: 'OPENAI_API_TYPE'

显然,获取不到该环境变量

尝试解决

由于是Linux子系统,常见的设置环境变量有三种

1、临时添加方案

bash 复制代码
export OPENAI_API_TYPE=AzureAI

2、用户永久有效(两种方式,未测试)

bash 复制代码
echo 'export OPENAI_API_TYPE=$OPENAI_API_TYPE:AzureAI' >> ~/.bashrc

source ~/.bashrc    # 使其立即生效
bash 复制代码
echo 'export OPENAI_API_TYPE=$OPENAI_API_TYPE:AzureAI' >> ~/.bash_profile

source ~/.bash_profile    # 使其立即生效

3、所有用户永久生效

bash 复制代码
echo 'export OPENAI_API_TYPE=$OPENAI_API_TYPE:AzureAI' >> /etc/profile

source /etc/profile    # 使其立即生效

以上方案均失败,悲剧

真正解决

  1. 打开VS Code,点击左下角的设置按钮(齿轮图标)或按下快捷键`Ctrl + ,`打开设置面板。
  1. 在搜索框中输入 环境变量 ,点击用户(远程测试也可以,工作区未测试)- 功能 - 终端 - 在settings.json中编辑

由于我是Linux子系统,所以选择是Linux,按需求选择即可

3、在打开的文件中输入如下:

bash 复制代码
{
    "terminal.integrated.env.linux": {
        "OPENAI_API_TYPE":"AzureAI"
    }
}

搞定,收工

相关推荐
行走的陀螺仪6 小时前
.vscode 文件夹配置详解
前端·ide·vscode·编辑器·开发实践
这儿有一堆花10 小时前
重磅推出!Google Antigravity:一次 “以 Agent 为中心 (agent-first)” 的 IDE 革命
vscode·ai·ai编程·googlecloud
j***518916 小时前
vscode配置django环境并创建django项目(全图文操作)
vscode·django·sqlite
艾莉丝努力练剑19 小时前
【Python基础:语法第一课】Python 基础语法详解:变量、类型、动态特性与运算符实战,构建完整的编程基础认知体系
大数据·人工智能·爬虫·python·pycharm·编辑器
skywalk816320 小时前
FreeBSD系统安装VSCode Server(未成功,后来是在FreeBSD系统里的Linux虚拟子系统里安装启动了Code Server)
ide·vscode·编辑器·freebsd
深海潜水员20 小时前
【MonoGame游戏开发】| 牧场物语实现 第一卷 : 农场基础实现 (下)
vscode·游戏·c#·.net·monogame
skywalk81631 天前
linux安装Code Server 以便Comate IDE和CodeBuddy等都可以远程连上来
linux·运维·服务器·vscode·comate
时光追逐者1 天前
Visual Studio 2026 现已正式发布,更快、更智能!
ide·c#·.net·visual studio
你还满意吗1 天前
开发工具推荐
编辑器
weixin_377634842 天前
【Git使用】PyCharm中的Git使用
ide·git·pycharm