10 分钟搭建 CrewAI 环境
作者:测试员周周
系列:CrewAI 多 Agent 测试框架实战(第 2 篇)
字数:约 3,000 字
阅读时间:8 分钟
1. 环境要求
1.1 系统要求
| 组件 | 最低要求 | 推荐配置 |
|---|---|---|
| 操作系统 | Windows 10 / macOS 11 / Linux | Linux (Ubuntu 20.04+) |
| Python | 3.10+ | 3.12 |
| 内存 | 4GB | 8GB+ |
| 网络 | 能访问 LLM API | 稳定的网络连接 |
1.2 检查 Python 版本
bash
# macOS/Linux
python3 --version
# Windows
python --version
# 应该显示:Python 3.10.x 或更高
如果版本太低: - macOS:brew install python@3.12 - Ubuntu:sudo apt install python3.12
- Windows:下载安装 www.python.org/
2. 创建虚拟环境
2.1 为什么需要虚拟环境?
原因:
-
隔离依赖 - 避免与系统 Python 冲突
-
版本管理 - 不同项目可用不同版本
-
干净卸载 - 删除虚拟环境即可
❌ 不推荐:
bash
# 直接安装到系统 Python
pip install crewai # 可能影响其他项目
✅ 推荐:
bash
# 创建虚拟环境
python3 -m venv venv
# 激活后安装
source venv/bin/activate
pip install crewai # 只影响当前项目
2.2 创建虚拟环境
Linux/macOS:
bash
# 创建项目目录
mkdir -p ~/crewai-demo
cd ~/crewai-demo
# 创建虚拟环境
python3 -m venv venv
# 激活虚拟环境
source venv/bin/activate
# 验证(应该显示虚拟环境路径)
which python
# 输出:/home/yourname/crewai-demo/venv/bin/python
Windows:
bash
# 创建项目目录
mkdir crewai-demo
cd crewai-demo
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境
.\venv\Scripts\Activate
# 验证
where python
2.3 升级 pip
bash
# 升级 pip(避免安装问题)
pip install --upgrade pip
# 验证
pip --version
# 应该显示:pip 23.x 或更高
3. 安装 CrewAI
3.1 安装核心包
bash
# 安装 CrewAI 核心
pip install crewai
# 安装 CrewAI 工具包
pip install crewai-tools
# 安装其他依赖
pip install requests python-dotenv pydantic
安装时间: 约 2-5 分钟(取决于网络) 安装包大小: 约 200MB
3.2 验证安装
bash
# 检查 CrewAI 版本
python -c "import crewai; print(f'CrewAI: {crewai.__version__}')"
# 应该显示:CrewAI: 1.14.1 或类似版本
创建测试文件 test_install.py:
ini
from crewai import Agent, Task, Crew
print("✅ CrewAI 导入成功")
# 创建最简单的 Agent
agent = Agent(
role="测试助手",
goal="验证安装",
backstory="你验证 CrewAI 安装是否成功"
)
print("✅ Agent 创建成功")
# 创建 Task
task = Task(
description="说你好",
expected_output="问候语",
agent=agent
)
print("✅ Task 创建成功")
# 创建 Crew
crew = Crew(agents=[agent], tasks=[task])
print("✅ Crew 创建成功")
print("🎉 安装完成!")
运行:
python test_install.py
预期输出:
arduino
✅ CrewAI 导入成功
✅ Agent 创建成功
✅ Task 创建成功
✅ Crew 创建成功
🎉 安装完成!
4. 配置 LLM API Key
4.1 选择 LLM 提供商
CrewAI 支持多种 LLM,我推荐阿里巴巴 DashScope(通义千问):
| 提供商 | 模型 | 价格 | 延迟 | 中文支持 |
|---|---|---|---|---|
| 阿里云 DashScope | qwen-plus | ¥0.004/1K tokens | 低 | ⭐⭐⭐⭐⭐ |
| OpenAI | gpt-4o-mini | $0.15/1M tokens | 中 | ⭐⭐⭐⭐ |
| 智谱 AI | glm-4 | ¥0.005/1K tokens | 低 | ⭐⭐⭐⭐⭐ |
| 百度文心 | ernie-bot | ¥0.008/1K tokens | 中 | ⭐⭐⭐⭐⭐ |
为什么选 DashScope?
-
中文支持最好 - 原生中文训练
-
价格低廉 - 约 OpenAI 的 1/10
-
延迟低 - 国内服务器
-
无需翻墙 - 直接访问
4.2 获取 DashScope API Key
步骤 1:访问官网 打开 dashscope.console.aliyun.com/
步骤 2:注册/登录 - 有阿里云账号直接登录
- 没有就注册(需要手机号验证)
步骤 3:进入 API-KEY 管理 登录后,点击左侧菜单"API-KEY 管理"
步骤 4:创建 API Key - 点击"创建新的 API-KEY" - 输入名称(如:crewai-test)
- 点击确定
步骤 5:复制 Key - Key 格式:sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- 重要:只显示一次,立即复制保存!
4.3 配置环境变量
方式 1:临时配置(当前终端有效)
ini
# macOS/Linux
export DASHSCOPE_API_KEY=sk-your-api-key-here
# Windows PowerShell
$env:DASHSCOPE_API_KEY="sk-your-api-key-here"
# Windows CMD
set DASHSCOPE_API_KEY=sk-your-api-key-here
方式 2:永久配置(推荐) Linux/macOS:
bash
# 添加到 ~/.bashrc 或 ~/.zshrc
echo 'export DASHSCOPE_API_KEY=sk-your-api-key-here' >> ~/.bashrc
# 重新加载
source ~/.bashrc
# 验证
echo $DASHSCOPE_API_KEY
# 应该显示:sk-xxxx...
Windows:
ruby
# 添加到用户环境变量
[System.Environment]::SetEnvironmentVariable(
"DASHSCOPE_API_KEY",
"sk-your-api-key-here",
"User"
)
# 重启终端后验证
echo $env:DASHSCOPE_API_KEY
方式 3:使用 .env 文件(推荐用于项目)
ini
# 创建 .env 文件
cat > .env << EOF
# 阿里巴巴 DashScope 配置
DASHSCOPE_API_KEY=sk-your-api-key-here
DASHSCOPE_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
# 模型配置
OPENAI_MODEL=qwen-plus
EOF
# 在代码中加载
4.4 验证 API Key
创建测试文件 test_api.py:
python
import os
from crewai import LLM
# 获取 API Key
api_key = os.getenv("DASHSCOPE_API_KEY")
if not api_key:
print("❌ 错误:未找到 DASHSCOPE_API_KEY")
print("请设置环境变量后重试")
exit(1)
print(f"✅ API Key: {api_key[:15]}...")
# 创建 LLM
llm = LLM(
model="qwen-plus",
api_key=api_key,
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
)
print("✅ LLM 创建成功")
# 测试调用
try:
response = llm.call("你好,请用一句话介绍你自己")
print(f"✅ API 调用成功")
print(f"响应:{response[:50]}...")
except Exception as e:
print(f"❌ API 调用失败:{e}")
运行:
python test_api.py
预期输出:
erlang
✅ API Key: sk-xxxxxxxx...
✅ LLM 创建成功
✅ API 调用成功
响应:你好!我是一个人工智能助手...
5. 完整项目结构
5.1 推荐目录结构
bash
crewai-demo/
├── venv/ # 虚拟环境(不提交到 Git)
├── .env # 环境变量(不提交到 Git)
├── .gitignore # Git 忽略文件
├── requirements.txt # 依赖包
├── hello.py # 第一个 Agent
└── test_api.py # API 测试
5.2 创建 .gitignore
ini
cat > .gitignore << EOF
# Python
__pycache__/
*.py[cod]
*.pyo
*.pyd
.Python
venv/
env/
.venv/
# 环境变量
.env
# IDE
.vscode/
.idea/
*.swp
*.swo
# 系统文件
.DS_Store
Thumbs.db
EOF
5.3 创建 requirements.txt
shell
cat > requirements.txt << EOF
crewai>=1.14.0
crewai-tools>=0.1.0
requests>=2.31.0
python-dotenv>=1.0.0
pydantic>=2.5.0
EOF
6. 常见问题解答
Q1: pip install 失败怎么办?
错误信息:
arduino
ERROR: Could not find a version that satisfies the requirement crewai
解决方案:
bash
# 1. 升级 pip
pip install --upgrade pip
# 2. 使用国内镜像
pip install crewai -i https://pypi.tuna.tsinghua.edu.cn/simple
# 3. 检查 Python 版本(需要 3.10+)
python --version
Q2: API Key 错误怎么办?
错误信息:
javascript
openai.AuthenticationError: Error code: 401
解决方案:
bash
# 1. 检查环境变量
echo $DASHSCOPE_API_KEY
# 2. 重新设置
export DASHSCOPE_API_KEY=sk-your-key
# 3. 验证 Key 是否有效
# 访问 https://dashscope.console.aliyun.com/ 查看状态
Q3: 网络连接超时怎么办?
错误信息:
makefile
ConnectionTimeout: HTTPSConnectionPool...
解决方案:
bash
# 1. 检查网络
ping dashscope.aliyuncs.com
# 2. 使用国内镜像源
export DASHSCOPE_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
# 3. 检查防火墙
# 确保 443 端口开放
Q4: 虚拟环境无法激活怎么办?
Linux/macOS:
bash
# 使用完整路径
source /home/yourname/crewai-demo/venv/bin/activate
# 或者重新创建
rm -rf venv
python3 -m venv venv
source venv/bin/activate
Windows:
python
# 允许执行脚本
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# 激活
.\venv\Scripts\Activate
Q5: 如何退出虚拟环境?
bash
# Linux/macOS/Windows
deactivate
# 验证(应该显示系统 Python)
which python
7. 小结
本教程完成:
-
✅ 创建 Python 虚拟环境
-
✅ 安装 CrewAI 和依赖
-
✅ 配置 DashScope API Key
-
✅ 验证安装成功
-
✅ 创建项目结构
下一步:
-
第 3 篇:创建你的第一个 Agent
-
第 4 篇:理解 Agent 核心参数
作者说 :环境搭建是第一步,也是最重要的一步。花 10 分钟配置好环境,后续学习会顺利很多。 欢迎我获取更多 AI+ 测试实战内容!
📚 系列文章索引
| 序号 | 文章 | 状态 |
|---|---|---|
| 01 | CrewAI 是什么? | ✅ 已完成 |
| 02 | 10 分钟搭建环境 | ✅ 本篇 |
| 03 | 第一个 Agent | 📝 下一篇 |
| 04 | 理解核心参数 | ⏳ 待发布 |
| ... | ... | ... |
作者:测试员周周,14 年测试经验,专注 AI+ 测试实战