Mac 开发者指南:从零开始安装和配置 ChatGPT 开发环境
1. 先别急着敲代码:把系统底子摸一遍
- 打开「关于本机」确认 macOS ≥ 11.0,芯片不论 Intel 还是 Apple Silicon 都能跑,但 Apple Silicon 建议提前装 Rosetta 2(
softwareupdate --install-rosetta --agree-to-license)。 - 终端版本 ≥ zsh 5.8,系统自带即可;若偏爱 fish/bash 也可,后文命令兼容。
- 网络要畅通 api.openai.com,公司内网走代理的先记下端口,后面统一配置。
2. Python 环境:用 pyenv 还是 conda?我全都要
推荐 pyenv 管理多版本,干净不污染系统自带 Python。
- 装依赖:
brew install openssl readline sqlite3 xz zlib - 装 pyenv:
brew install pyenv - 把初始化语句写进
~/.zshrc:export PYENV_ROOT="$HOME/.pyenv" command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)" - 重载配置:
source ~/.zshrc - 安装 3.11 并设为全局:
pyenv install 3.11.4 && pyenv global 3.11.4
- 装依赖:
若已习惯 Anaconda,直接新建环境也行:
conda create -n openai python=3.11 -yconda activate openai
验证:
python -V应输出 3.11.x,确认 pip 指向同一解释器:which python && which pip
3. 依赖库一次性装到位
核心包就两个:openai 官方 SDK + 辅助工具 python-dotenv(管理密钥不硬编码)。
- 升级 pip 本身:
python -m pip install -U pip - 安装依赖:
pip install openai python-dotenv - 可选但强烈建议:
pip install rich(终端彩色输出)、pip install httpx[http2](HTTP/2 加速)
- 升级 pip 本身:
生成 requirements.txt 方便团队协作:
pip freeze > requirements.txt
4. 把钥匙藏好:API Key 获取与安全存储
登录 OpenAI 控制台 → API Keys → Create new secret key → 复制后立刻保存,网页只展示一次。
本地用
.env文件保存,绝不提交到 Git:# 项目根目录下 touch .env echo "OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxx" >> .env echo ".env" >> .gitignore代码里这样读:
import os from dotenv import load_dotenv load_dotenv() # 把 .env 注入环境变量 api_key = os.getenv("OPENAI_API_KEY") assert api_key, "请检查 .env 是否配置"高级玩法:用 macOS Keychain 存敏感字段,脚本启动时读取,CI/CD 用 GitHub Secret,彻底告别明文。
5. 跑通第一个脚本:Hello, ChatGPT
新建
test_chat.py:#!/usr/bin/env python3 """ 最小可运行示例:单轮对话,流式打印回答句。 """ import os, openai from dotenv import load_dotenv load_dotenv() openai.api_key = os.getenv("OPENAI_API_KEY") response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": "用三句话介绍你自己"}], stream=True, max_tokens=120, temperature=0.7 ) for chunk in response: delta = chunk.choices[0].delta if delta.get("content"): print(delta["content"], end="", flush=True) print()终端执行:
python test_chat.py,看到自我介绍即成功。
6. 常见问题速查表
SSL: CERTIFICATE_VERIFY_FAILED
公司代理会替换证书,装证书或临时规避:export SSL_CERT_FILE=$(brew --prefix)/etc/openssl/certs/cert.pem代理端口
在.env追加:HTTPS_PROXY=http://127.0.0.1:7890 HTTP_PROXY=http://127.0.0.1:7890代码无感读取。
429 rate limit
免费额度用完或并发过高,降级到gpt-3.5-turbo并降低max_tokens,或申请付费账单。import 报错 No module named openai
确认虚拟环境激活,which python指向正确路径;VS Code 用户把解释器选成相同路径。
7. 下一步:把玩具做成产品
- 把对话封装成函数,加上下文数组维护多轮记忆。
- 用
tiktoken提前计算 token 数,超限自动摘要截断。 - 接入语音:ASR 用 Whisper,TTS 用 OpenAI 最新 tts-1,搭配 WebSocket 推流,即可实现「语音输入→GPT→语音输出」闭环。
- 若嫌 Whisper 延迟高,可试下火山引擎的豆包实时语音模型,同样一条链路,延迟能压到 600 ms 以内。
想亲手搭一套「能听会说」的实时通话 AI?我跟着从0打造个人豆包实时通话AI实验走了一遍,ASR+LLM+TTS 三步全打通,Web 页面点开就能聊。步骤傻瓜、代码全给,小白也能一口气跑通。等你把 ChatGPT 环境玩熟了,不妨去试试,把键盘敲成麦克风,感受 AI 秒回话的爽感。