人人都会AI编程

3.2 Python 环境下 API 调用配置

更新时间:2026-06-27

本节适合需要把 Codex 代码生成能力集成到 Python 项目、批量处理代码任务的场景,通过官方 SDK 调用接口,可灵活定制功能。调用按 Token 按量计费,与 ChatGPT 订阅额度不共享。

前置准备

  1. 电脑已安装 Python 3.8 及以上版本(推荐 3.9/3.10 稳定版)
  2. 已按 1.3 节步骤获取可用的 API 密钥
  3. 网络环境可正常访问 OpenAI 接口

一、安装官方 Python SDK

官方提供标准化 SDK,无需手动封装网络请求,是最稳妥的调用方式:

  1. 打开系统终端(CMD / PowerShell / 终端.app),执行安装命令:
    pip install openai
    
  1. 验证安装结果:执行 pip show openai,能看到版本号即安装成功。

注意:务必安装官方 openai 包,不要使用第三方封装的 SDK,存在密钥泄露、功能异常的风险。

二、密钥配置(两种方式,优先选第一种)

API 密钥是调用凭证,严禁直接写在业务代码里提交到公开代码仓库。

  1. 推荐方式:系统环境变量配置(最安全)

SDK 会自动读取系统环境变量 OPENAI_API_KEY,无需在代码里明文写密钥,是官方推荐的最佳实践。

  • Windows:右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,新建用户变量,变量名填 OPENAI_API_KEY,变量值填你的 API 密钥,确定后重启终端生效。
  • Mac/Linux:打开终端,执行 echo 'export OPENAI_API_KEY="你的API密钥"' >> ~/.zshrc(bash 用户替换为 .bashrc),再执行 source ~/.zshrc 立即生效。
  1. 临时测试方式:代码内传入

如果只是本地临时跑脚本测试,可直接在代码里传入密钥。绝对不能把带密钥的代码上传到 GitHub、Gitee 等公开平台

三、最简调用示例(复制就能跑)

新建 codex_demo.py 文件,粘贴以下代码,配置好密钥后即可运行。

from openai import OpenAI

# 已配置环境变量的话,无需传 api_key 参数,SDK 会自动读取
client = OpenAI(
    # api_key="你的API密钥"  # 仅本地临时测试时取消注释填写,正式环境禁用
)

# 调用 Codex 生成代码
response = client.chat.completions.create(
    model="gpt-5.3-codex",  # 编码专用主力模型
    messages=[
        {"role": "system", "content": "你是专业编程助手,只输出可运行的代码,不添加多余解释。"},
        {"role": "user", "content": "写一个快速排序的Python函数"}
    ],
    temperature=0.2,  # 写代码建议设低值,输出更严谨稳定
    max_tokens=1000
)

# 打印生成的结果
print("生成的代码:")
print(response.choices[0].message.content)

运行与验证
终端执行 python codex_demo.py,终端输出完整的快速排序函数代码,即为调用配置成功。

四、核心参数说明(新手掌握4个即可)

不用记忆全部参数,用好这几个就能满足绝大多数编码场景:

  1. model:指定调用的模型。主力编码用 gpt-5.3-codex,简单补全、注释生成可用轻量模型,成本更低。
  2. temperature:结果随机性,范围 0~2。写代码建议设 0.1~0.3,数值越低输出越稳定、逻辑越严谨;需要创意性方案可适当调高。
  3. messages:对话上下文。system 用来设定角色规则,user 是你的具体需求,支持多轮对话连续修改。
  4. max_tokens:单次调用最大输出长度,根据需求设置,避免不必要的额度消耗。

五、实用补充配置

  1. 网络代理设置

本地需要代理才能访问接口时,可在初始化客户端时指定代理地址,或配置系统环境变量 HTTPS_PROXY,SDK 会自动识别:

    client = OpenAI(
        base_url="你的代理服务地址"
    )
    
  1. 流式输出配置

需要实现打字机效果、实时查看生成过程时,开启流式输出:

    stream = client.chat.completions.create(
        model="gpt-5.3-codex",
        messages=[{"role": "user", "content": "写一个冒泡排序函数"}],
        stream=True
    )
    for chunk in stream:
        if chunk.choices[0].delta.content:
            print(chunk.choices[0].delta.content, end="")
    

六、常见问题排查

  1. 报错「No module named openai」:SDK 未安装成功,重新执行安装命令,检查当前 Python 环境与安装环境是否一致。
  2. 报错「Invalid API Key」:密钥错误或已被删除,核对密钥字符串无多余空格;若怀疑泄露,立即去后台删除旧密钥并重新生成。
  3. 报错「Connection timeout」:网络不通,检查网络环境,或配置代理后重试。
  4. 报错「The model does not exist」:模型名称拼写错误,核对可用模型列表,确认你的账号有权限调用该模型。

实用提醒:新手测试阶段务必按 1.4 节设置好消费上限,先跑小任务测试成本,再批量投入使用;生产环境建议添加异常捕获和重试逻辑,避免接口波动影响业务。