Python调用OpenAI API密钥配置错误求助(MacOS/Thonny环境)
修复OpenAI API密钥配置错误(MacOS + Thonny环境)
你遇到的错误核心是OpenAI v1 SDK的API密钥配置方式错误。你尝试的几种写法要么沿用了旧版SDK的全局设置逻辑,要么错误地给OpenAI类属性赋值,而非正确配置客户端实例。
方案1:代码内直接配置API密钥
实例化OpenAI客户端时,直接通过api_key参数传入密钥,这是最直接且不易出错的方式:
import pandas as pd from openai import OpenAI # 正确配置:实例化客户端时传入API密钥 client = OpenAI(api_key="sk-xxxxxxxxxxxxxx") # 替换为你的真实密钥 # 收集2个问题 questions = [] for i in range(2): question = input("Posez une question: ") questions.append(question) # 调用API生成答案 answers = [] for question in questions: response = client.completions.create( model="gpt-3.5-turbo-instruct", # v1 SDK中参数名从engine改为model(旧参数仍兼容,但建议用新名称) prompt=f"Question: {question}\nRéponse:", max_tokens=1024, n=1, stop=None, temperature=0.7, ) answer = response.choices[0].text.strip() answers.append(answer) # 生成CSV文件 df = pd.DataFrame({"Question": questions, "Réponse": answers}) df.to_csv("questions_reponses.csv", index=False) print("Le fichier CSV a été créé avec succès.")
方案2:通过环境变量配置(适配Thonny环境)
MacOS的系统环境变量可能不会被Thonny直接读取,需按以下方式配置:
方法A:Thonny内临时设置环境变量
- 打开Thonny,依次点击「运行」→「配置解释器」→「环境变量」
- 点击「添加」,输入:
- 名称:
OPENAI_API_KEY - 值:你的OpenAI API密钥
- 名称:
- 代码中只需直接实例化客户端,它会自动读取环境变量:
import pandas as pd from openai import OpenAI # 自动读取环境变量中的OPENAI_API_KEY client = OpenAI() # 后续代码同方案1...
方法B:使用.env文件(更灵活)
- 在Thonny的「工具」→「管理包」中搜索并安装
python-dotenv - 在项目目录下创建
.env文件,内容为:OPENAI_API_KEY=sk-xxxxxxxxxxxxxx - 代码中加载环境变量:
import pandas as pd from dotenv import load_dotenv from openai import OpenAI # 加载.env文件中的环境变量 load_dotenv() client = OpenAI() # 自动读取OPENAI_API_KEY # 后续代码同方案1...
关键错误点总结
- 旧版SDK的
openai.api_key = "xxx"全局设置方式不适用于v1 SDK - 不要给
OpenAI类的api_key属性赋值,需在实例化客户端时传参,或让实例读取环境变量 - Thonny的环境变量读取逻辑独立于系统shell,需单独配置
内容的提问来源于stack exchange,提问作者SebTheGeek
相关产品推荐
相关产品推荐

