第2课:环境搭建 —— 把工具装好
需要准备什么?
一共就 3 样东西:
- Python 3.10+ — 编程语言,必须的
- Anthropic API Key — 相当于Claude的"门票",要花钱的
- uv(推荐)或 pip — Python 的包管理工具
第一步:确认 Python 版本
打开终端(macOS 叫 Terminal,Windows 叫 CMD 或 PowerShell),输入:
python3 --version
看到 Python 3.10.x 或更高版本就行。如果版本太低或没装,去 python.org 下载最新版。
第二步:获取 API Key
- 打开 console.anthropic.com
- 注册/登录账号
- 在左侧找到 API Keys
- 点 Create Key,起个名字,复制下来
⚠️ 这个 Key 就像银行密码,别分享给任何人,别提交到 GitHub。
第三步:安装 uv(推荐)
uv 是一个超快的 Python 包管理工具,比 pip 快 10-100 倍。装不装随你,pip 也能用。
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
装完验证一下:
uv --version
第四步:创建项目
我们从零开始建一个项目:
# 创建项目文件夹
mkdir my-research-agent
cd my-research-agent
# 用 uv 初始化项目
uv init
# 安装 Claude Agent SDK
uv add claude-agent-sdk
# 顺便把后面要用的库也装了
uv add python-dotenv
如果你用 pip,那就是:
mkdir my-research-agent
cd my-research-agent
pip install claude-agent-sdk python-dotenv
第五步:配置 API Key
在项目根目录创建一个 .env 文件:
# .env 文件内容
ANTHROPIC_API_KEY=sk-ant-xxxxx你的key放这里xxxxx
然后创建 .gitignore,防止把 Key 提交到代码仓库:
# .gitignore 文件内容
.env
__pycache__/
第六步:验证安装
创建一个 test.py 文件,写入以下代码:
"""
验证 Claude Agent SDK 是否安装成功
"""
import anyio
from claude_agent_sdk import query
async def main():
print("正在连接 Claude...")
async for message in query(prompt="用一句话介绍你自己"):
print(message)
print("\n✅ 安装成功!SDK 工作正常。")
anyio.run(main)
运行它:
# 用 uv
uv run python test.py
# 用 pip
python test.py
如果看到 Claude 的回复和 "✅ 安装成功" 的提示,恭喜你,环境搭好了!
常见问题
Q:报错 CLINotFoundError
SDK 自带了 Claude Code CLI,一般不会出这个问题。如果出了,手动安装一下:
curl -fsSL https://claude.ai/install.sh | bash
Q:报错 API key not found
检查你的 .env 文件是不是放对位置了,以及代码里有没有加载它:
from dotenv import load_dotenv
load_dotenv() # 加上这行,放在最前面
Q:API 调用要钱吗?
要。Claude 是按 token 计费的(token 大约等于 0.75 个英文单词)。做研究项目的话,一次完整的研究大约花费 $0.5 - $2 美元左右,取决于搜索次数和报告长度。SDK 支持 max_budget_usd 参数来控制上限,后面会讲。
Q:支持国内网络吗?
需要能访问 Anthropic API。如果有网络问题,你可能需要配置代理。
项目结构
到这一步,你的项目应该长这样:
my-research-agent/
├── .env ← API Key(不要提交到 git)
├── .gitignore ← 忽略规则
├── pyproject.toml ← 项目配置(uv 自动生成的)
└── test.py ← 验证脚本
下一课预告
环境好了,下一课我们正式开始写代码——用 query() 跟 Claude 说第一句话,理解消息是怎么流转的。