设置 Python 环境
安装 OpenAI Python SDK,创建虚拟环境,使用环境变量安全存储 API 密钥,并通过健康检查确认一切正常。
设置 Python 环境 是 CoddyKit 上的免费 AI Engineering Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AI Engineering Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AI Engineering Academy 课程共包含 4 节课。
为什么虚拟环境很重要
人工智能项目会引入大量软件包,而不同软件包可能对版本有冲突要求。虚拟环境为每个项目提供独立的 Python,使它们互不干扰。代码会创建一个虚拟环境。
# Create and activate a virtual environment
# Run these commands in your terminal
python3 -m venv .venv # create environment in .venv/ folder
source .venv/bin/activate # activate on macOS/Linux
# .venv\Scripts\activate # activate on Windows
python --version # verify you are using the right Python安装 OpenAI Python SDK
官方的OpenAI Python SDK用于与 API 通信——它会处理身份验证、重试和解析。请按照代码示例,在当前激活的环境中安装它。
# Install the OpenAI SDK
pip install openai
# For production projects, pin the version:
pip install 'openai>=1.30.0,<2.0.0'
# Save your dependencies to requirements.txt:
pip freeze > requirements.txt
# Install from requirements.txt on a new machine:
pip install -r requirements.txt获取并存储您的 API 密钥
您的 API 密钥是机密信息,绝不能直接写入代码。请将其存储在 .env 文件中,把该文件加入 .gitignore,然后将其加载为环境变量。代码展示了这种做法。
# .env file (never commit this!)
# OPENAI_API_KEY=sk-proj-...
# In your Python script:
import os
from dotenv import load_dotenv
load_dotenv() # reads .env and sets environment variables
api_key = os.environ.get('OPENAI_API_KEY')
if not api_key:
raise ValueError('OPENAI_API_KEY environment variable not set!')
print('API key loaded:', api_key[:8] + '...') # only print prefix初始化 OpenAI 客户端
您只需创建一个 OpenAI() 客户端,然后通过它调用所有功能。如果密钥已设置为 env 变量,客户端会自动找到它,这样更简洁也更安全。
from openai import OpenAI
# API key is read from OPENAI_API_KEY environment variable automatically
client = OpenAI()
# Or explicitly:
# client = OpenAI(api_key='sk-proj-...') # only for quick tests
# For alternative providers:
# client = OpenAI(
# api_key='your-together-key',
# base_url='https://api.together.xyz/v1'
# )您的第一次 API 健康检查
在构建任何功能之前,请先运行一个列出模型的简短健康检查。它可以确认您的密钥有效、网络正常且 SDK 已安装。请始终先运行这项检查。
from openai import OpenAI
client = OpenAI()
# Simple health check: list available models
try:
models = client.models.list()
print(f'Connection successful! Found {len(list(models))} models.')
except Exception as e:
print(f'Connection failed: {e}')项目结构最佳实践
随着项目不断扩大,保持一致的项目结构可以省去许多麻烦:将机密信息放在 .env 中,将代码放在 src/ 中,并提供 .env.example 模板,让团队成员知道需要配置什么。
# Recommended project structure:
# my_ai_project/
# |-- .env (secrets, gitignored)
# |-- .env.example (template, committed)
# |-- .gitignore
# |-- requirements.txt
# |-- README.md
# |-- src/
# | |-- __init__.py
# | |-- client.py (OpenAI client initialization)
# | |-- prompts.py (prompt templates)
# | |-- main.py
# |-- tests/
# |-- notebooks/
# |-- Makefile安全管理多个 API 密钥
需要同时管理多个服务商的密钥吗?使用 AWS Secrets Manager 或 Doppler 之类的机密信息管理器,比只使用一个 .env 文件更适合扩展。为每个项目使用单独的密钥,这样您就能安全地撤销密钥。
# .env.example - commit this as a template
# OPENAI_API_KEY=sk-proj-...your key here...
# OPENAI_ORG_ID=org-...optional org id...
# COHERE_API_KEY=...cohere key...
# PINECONE_API_KEY=...pinecone key...
# PINECONE_ENVIRONMENT=us-east-1-aws
# In code, load all at once:
from dotenv import load_dotenv
import os
load_dotenv()
config = {
'openai_key': os.environ['OPENAI_API_KEY'],
'cohere_key': os.environ.get('COHERE_API_KEY'), # optional
}使用 Python 版本管理器
不同项目可能需要不同的 Python 版本。使用 pyenv 之类的版本管理器可以安装多个版本,并按文件夹在它们之间切换,不会产生系统级冲突。
# Install pyenv (macOS via Homebrew)
# brew install pyenv
# Install Python 3.11
# pyenv install 3.11.9
# Set Python version for this project directory
# pyenv local 3.11.9
# This creates a .python-version file:
# cat .python-version
# 3.11.9
# Now python3 automatically uses 3.11.9 in this directory使用真实提示测试配置
真正的测试是发送一个实时提示并获得真实回复。这项端到端检查可以一次性验证您的配置、密钥、网络和计费是否正常。请要求模型只回复一个词:READY。
from openai import OpenAI
from dotenv import load_dotenv
load_dotenv()
client = OpenAI()
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=[
{'role': 'system', 'content': 'You are a test responder.'},
{'role': 'user', 'content': 'Reply with just the word READY.'}
],
temperature=0,
max_tokens=5
)
print('Response:', response.choices[0].message.content)
print('Model used:', response.model)
print('Tokens used:', response.usage.total_tokens)使用 uv 加快软件包管理
uv 是一个基于 Rust 的快速软件包管理器,速度比 pip 快 10 到 100 倍。对于大型 AI 库,原本需要 3 分钟的安装可以缩短到几秒。从项目一开始就采用它很值得。
# Install uv (macOS/Linux)
# curl -LsSf https://astral.sh/uv/install.sh | sh
# Create a project with uv
# uv init my-ai-project
# cd my-ai-project
# Add dependencies
# uv add openai python-dotenv
# Run your script using the uv-managed environment
# uv run python main.py
# Generate requirements.txt for compatibility
# uv pip compile pyproject.toml -o requirements.txt生产环境中的环境变量
在生产环境中,仅靠 .env 文件还不够。Railway 和 Vercel 之类的平台会在运行时注入环境变量。您的代码读取 os.environ;只有注入的值会发生变化。
# Centralized config loader pattern for production
import os
from dataclasses import dataclass
@dataclass
class AppConfig:
openai_api_key: str
environment: str
log_level: str
@classmethod
def from_env(cls):
key = os.environ.get('OPENAI_API_KEY')
if not key:
raise EnvironmentError('OPENAI_API_KEY must be set')
return cls(
openai_api_key=key,
environment=os.environ.get('ENVIRONMENT', 'development'),
log_level=os.environ.get('LOG_LEVEL', 'INFO')
)
config = AppConfig.from_env()快速检查
测试您对本课 AI 工程概念的理解。
课程回顾
您已经配置好了工具包:虚拟环境可以隔离依赖项,API 密钥存放在环境变量中(绝不写入代码),并且任何机器都会先运行健康检查。接下来学习聊天。🎉
常见问题解答
「设置 Python 环境」课时是免费的吗?
是的 — 「设置 Python 环境」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AI Engineering Academy 课程的其余内容,请升级到 CoddyKit PRO。 AI Engineering Academy 课程共包含 4 节课。
「设置 Python 环境」这节课中我会学到什么?
安装 OpenAI Python SDK,创建虚拟环境,使用环境变量安全存储 API 密钥,并通过健康检查确认一切正常。 你通过在浏览器中直接运行的动手代码来练习 AI Engineering Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 AI Engineering Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 AI Engineering Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「设置 Python 环境」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 AI Engineering Academy 课中编写并运行代码吗?
能。每节 AI Engineering Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 设置 Python 环境
- 聊天补全端点
- 使用参数控制模型行为
- 错误处理与速率限制