2. 环境搭建

2. 环境搭建

在开始构建A2A智能体之前,我们需要设置正确的开发环境。本章将指导您完成Python环境配置和A2A SDK安装。

📋 系统要求

必需条件

  • Python 3.10或更高版本 - A2A SDK的最低要求
  • 终端或命令提示符 - 用于执行命令
  • Git - 用于克隆代码仓库
  • 网络连接 - 用于下载依赖包

推荐工具

  • 代码编辑器:Visual Studio Code、PyCharm或Sublime Text
  • HTTP客户端:curl、Postman或类似工具
  • JSON格式化工具:用于查看和编辑JSON数据

📥 克隆示例仓库

首先,让我们获取A2A的官方示例代码:

# 克隆A2A示例仓库
git clone https://github.com/google/A2A.git -b main --depth 1
cd A2A

这个仓库包含了完整的A2A示例代码,包括Python、JavaScript等多种语言的实现。

🐍 Python环境配置

步骤1:创建虚拟环境

我们强烈推荐使用虚拟环境来隔离项目依赖:

# 创建虚拟环境
python -m venv a2a-env

# 激活虚拟环境
source a2a-env/bin/activate
# 创建虚拟环境
python -m venv a2a-env

# 激活虚拟环境
a2a-env\Scripts\activate

激活后,您的终端提示符应该显示(a2a-env)前缀。

步骤2:升级pip

确保使用最新版本的pip:

pip install --upgrade pip

步骤3:安装A2A SDK和依赖

根据A2A仓库的结构,安装所需的Python依赖:

# 进入Python示例目录
cd samples/python

# 安装依赖
pip install -r requirements.txt

# 或者如果使用uv工具
# uv pip install -r requirements.txt

验证安装

测试Python SDK导入

验证A2A SDK是否正确安装:

python -c "import a2a; print('A2A SDK导入成功!')"

如果看到成功消息而没有错误,说明安装正确。

检查依赖版本

验证关键依赖的版本:

python -c "
import sys
print(f'Python版本: {sys.version}')

try:
    import a2a
    print('✅ A2A SDK: 已安装')
except ImportError:
    print('❌ A2A SDK: 未找到')

try:
    import fastapi
    print('✅ FastAPI: 已安装')
except ImportError:
    print('❌ FastAPI: 未找到')

try:
    import pydantic
    print('✅ Pydantic: 已安装')
except ImportError:
    print('❌ Pydantic: 未找到')
"

测试HTTP服务器

快速测试FastAPI是否正常工作:

python -c "
from fastapi import FastAPI
import uvicorn
app = FastAPI()

@app.get('/')
def read_root():
    return {'message': 'A2A开发环境准备就绪!'}

print('FastAPI测试成功')
"

🛠️ 开发工具配置

Visual Studio Code配置

如果使用VS Code,创建.vscode/settings.json文件:

{
    "python.interpreter": "./a2a-env/bin/python",
    "python.linting.enabled": true,
    "python.linting.pylintEnabled": true,
    "python.formatting.provider": "black"
}

环境变量设置

为开发方便,可以设置一些环境变量:

# 在~/.bashrc或~/.zshrc中添加
export A2A_LOG_LEVEL=DEBUG
export A2A_PORT=8000
export A2A_HOST=localhost
# 在PowerShell中设置
$env:A2A_LOG_LEVEL="DEBUG"
$env:A2A_PORT="8000"
$env:A2A_HOST="localhost"

📁 项目结构预览

让我们看看A2A Python示例的典型结构:

A2A/samples/python/
├── agents/                 # 智能体实现示例
│   ├── crewai/            # CrewAI框架示例
│   ├── google_adk/        # Google ADK示例
│   └── langgraph/         # LangGraph示例
├── common/                # 通用组件
│   ├── client/            # A2A客户端实现
│   ├── server/            # A2A服务器实现
│   └── types.py           # 类型定义
├── hosts/                 # 宿主环境示例
├── requirements.txt       # Python依赖
└── README.md             # 项目说明

🔧 故障排除

常见问题

  1. Python版本过低

    # 检查Python版本
    python --version
    
    # 如果版本过低,请升级Python
  2. 虚拟环境问题

    # 删除并重新创建虚拟环境
    rm -rf a2a-env
    python -m venv a2a-env
  3. 网络连接问题

    # 使用国内镜像源
    pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
  4. 权限问题

    # 确保有写入权限
    sudo chown -R $USER:$USER ./

验证检查清单

在继续下一步之前,请确认:

  • Python 3.10+已安装
  • 虚拟环境已创建并激活
  • A2A SDK成功导入
  • 所有依赖包已安装
  • 开发工具配置完成

🎉 环境准备完成

恭喜!您已经成功设置了A2A Python开发环境。现在您已经准备好:

  • 探索A2A SDK的功能
  • 运行示例代码
  • 开始构建自己的A2A智能体

下一步:智能体技能与智能体卡片 - 我们将学习如何定义智能体的能力和描述。


💡 提示:如果遇到任何安装问题,请检查故障排除指南或在GitHub上寻求帮助。保持环境的整洁和最新对于顺利开发非常重要!