最近在学chatgpt api编程,需要在python脚本里调用openai的sercet key。

import openai

openai.api_key = "xxxx"

//省略若干行

这种脚本肯定不能上传代码仓库或者发给别人,否则会有sercet key泄漏的风险。

于是想把key写在环境变量里,通过脚本读取环境变量的方式来获取key,代码就变成了下面这种

import openai

openai.api_key = os.getenv("OPENAI_API_KEY")

现在问题来了,在mac环境,变量OPENAI_API_KEY={key}应该写在哪个变量里?

环境变量分为全局变量和用户变量,用户变量的配置文件由具体shell应用来决定,见导图

sercet key变量安全性要求高,应该把它设置在用户变量里,具体用户变量的哪个文件就需要判断shell是哪个应用,可以通过命令行来判断

> echo $0

结果会返回当前shell应用,前面加"-", 如

-zsh

-bash

当前我用的zsh,就写在~/.zshrc里,直接写key=value,不用在前面加export

重开终端或者执行source让变量生效。

source ~/.zshrc

echo $OPENAI_API_KEY

返回: sk-xxx

每次打开终端查看该变量都能获取到,则配置成功。

参考文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: