本文档详细说明如何配置项目开发环境。
- 操作系统: macOS / Linux / Windows
- Python版本: 3.8+
- 磁盘空间: 至少500MB
- Python 3.8或更高版本
- pip(Python包管理器)
- git(版本控制)
虚拟环境可以:
- ✅ 隔离项目依赖,避免与系统Python包冲突
- ✅ 确保依赖版本一致
- ✅ 便于项目迁移和部署
# 进入项目目录
cd pdf_context_extractor_agent
# 创建虚拟环境
python3 -m venv venv
# 验证虚拟环境已创建
ls venv/
# 应该看到: bin/ include/ lib/ pyvenv.cfgmacOS / Linux:
source venv/bin/activateWindows:
venv\Scripts\activate验证激活成功:
which python
# 应该显示: /path/to/pdf_context_extractor_agent/venv/bin/python
python --version
# 应该显示: Python 3.8+deactivateQ: 忘记激活虚拟环境怎么办?
A: 如果运行命令时出现"ModuleNotFoundError",很可能是忘记激活虚拟环境。重新执行 source venv/bin/activate。
Q: 如何确认当前在虚拟环境中?
A: 命令行提示符前会显示 (venv),例如:
(venv) user@host:~/pdf_context_extractor_agent$
# 确保已激活虚拟环境
source venv/bin/activate
# 安装所有依赖
pip install -r requirements.txt# PDF处理
pdfplumber>=0.10.0
PyPDF2>=3.0.0
# 数据处理
pandas>=2.0.0
openpyxl>=3.1.0
# 工具库
python-dateutil>=2.8.0
# LLM集成
requests>=2.31.0
# 测试导入
python -c "import pdfplumber, pandas, openpyxl, requests"
# 如果没有错误,说明安装成功# 复制配置模板
cp config/llm_config.template.json config/llm_config.json
# 编辑配置文件
vim config/llm_config.json # 或使用其他编辑器| 参数 | 说明 | 示例 |
|---|---|---|
| provider | LLM提供商 | anthropic / openrouter / custom |
| base_url | API基础URL | https://api.anthropic.com |
| model | 模型名称 | claude-3-5-sonnet-20241022 |
| api_key_env | API密钥环境变量名 | LLM_API_KEY |
配置示例:
{
"llm_api": {
"provider": "anthropic",
"base_url": "https://api.anthropic.com",
"model": "claude-3-5-sonnet-20241022",
"api_key_env": "LLM_API_KEY"
}
}方式1: 临时设置(推荐用于测试)
export LLM_API_KEY="your_api_key_here"方式2: 永久设置(推荐用于开发)
# 添加到 ~/.bashrc 或 ~/.zshrc
echo 'export LLM_API_KEY="your_api_key_here"' >> ~/.zshrc
source ~/.zshrc方式3: 使用 .env 文件
# 创建 .env 文件
cat > .env << EOF
LLM_API_KEY=your_api_key_here
EOF
# 注意:.env 文件已在 .gitignore 中,不会被提交Anthropic Claude(官方,推荐):
{
"llm_api": {
"provider": "anthropic",
"base_url": "https://api.anthropic.com",
"model": "claude-3-5-sonnet-20241022",
"api_key_env": "LLM_API_KEY"
}
}- 环境变量:
export LLM_API_KEY="sk-ant-api03-..." - 获取API Key: https://console.anthropic.com/
OpenRouter(多模型平台):
{
"llm_api": {
"provider": "openrouter",
"base_url": "https://openrouter.ai/api/v1",
"model": "anthropic/claude-3.5-sonnet",
"api_key_env": "LLM_API_KEY"
}
}- 环境变量:
export LLM_API_KEY="sk-or-v1-..." - 获取API Key: https://openrouter.ai/
自定义代理/中转:
{
"llm_api": {
"provider": "custom",
"base_url": "https://your-proxy.com/v1",
"model": "claude-3-5-sonnet-20241022",
"api_key_env": "LLM_API_KEY"
}
}| 参数 | 默认值 | 说明 |
|---|---|---|
| max_tokens | 1024 | 最大生成token数 |
| temperature | 0.0 | 温度(0=确定性,1=创造性) |
| timeout | 30 | 请求超时时间(秒) |
| max_retries | 3 | 最大重试次数 |
| enable_llm | true | 是否启用LLM识别 |
| always_use_llm | false | 是否总是调用LLM |
| cache_llm_results | true | 是否缓存LLM结果 |
# 激活虚拟环境
source venv/bin/activate
# 检查环境变量
echo $LLM_API_KEY
# 运行测试验证配置
python tests/test_batch_extractor.py
# 如果配置正确,应该能成功运行VS Code:
- 安装Python扩展
- 选择虚拟环境作为Python解释器
Cmd+Shift+P→ "Python: Select Interpreter"- 选择
./venv/bin/python
PyCharm:
- File → Settings → Project → Python Interpreter
- 添加虚拟环境:
./venv/bin/python
# 安装开发工具(可选)
pip install black flake8 pylint
# 格式化代码
black src/
# 检查代码风格
flake8 src/# 激活虚拟环境
source venv/bin/activate
# 运行核心测试
python tests/test_column_analyzer.py # 列分析器单元测试
python tests/test_integration.py # 集成测试
python tests/test_real_pdf.py # 资产负债表测试
python tests/test_income_statement.py # 利润表测试
python tests/test_cash_flow.py # 现金流量表测试
# 批量提取测试(需要LLM配置)
python tests/test_batch_extractor.py
python tests/test_full_extraction.py✓ 核心测试: 7个测试文件全部通过
✓ 资产负债表: 5/5 公司测试通过
✓ 利润表: 4/4 公司测试通过
✓ 现金流量表: 4/5 公司测试通过
问题: command not found: python3
解决:
# macOS
brew install python3
# Ubuntu/Debian
sudo apt install python3
# 验证
python3 --version问题: 虚拟环境创建失败 解决:
# 确保有venv模块
python3 -m pip install --user virtualenv
# 使用virtualenv创建
python3 -m virtualenv venv问题: pip install 失败
解决:
# 升级pip
pip install --upgrade pip
# 使用国内镜像(如果网络慢)
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple问题: 权限错误 解决:
# 确保在虚拟环境中
source venv/bin/activate
# 不要使用sudo
pip install -r requirements.txt问题: API Key未找到 解决:
# 检查环境变量
echo $LLM_API_KEY
# 如果为空,重新设置
export LLM_API_KEY="your_key"问题: 配置文件不存在 解决:
# 复制模板
cp config/llm_config.template.json config/llm_config.json问题: API请求超时 解决:
- 检查网络连接
- 验证API Key是否有效
- 增加timeout配置(在llm_config.json中设置
"timeout": 60)
问题: 认证失败 (401 Unauthorized) 解决:
- 检查API Key是否正确
- 检查provider和base_url是否匹配
- 确认API Key未过期
问题: 模型不存在 解决:
- 检查模型名称拼写
- 确认provider支持该模型
- 参考上面的Provider配置示例
# 退出虚拟环境
deactivate
# 删除虚拟环境
rm -rf venv/
# 重新创建
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt# 清理Python缓存
find . -type d -name "__pycache__" -exec rm -rf {} +
find . -type f -name "*.pyc" -delete
# 清理输出文件
rm -rf output/*.xlsx
# 清理日志
rm -rf logs/*.log使用前请确认:
- Python 3.8+ 已安装
- 虚拟环境已创建 (
venv/目录存在) - 虚拟环境已激活 (命令行显示
(venv)) - 依赖已安装 (
pip list显示所有包) - 测试PDF文件存在 (
tests/sample_pdfs/目录) - (可选) LLM配置文件已创建 (
config/llm_config.json) - (可选) API Key已设置 (
echo $LLM_API_KEY有输出)
环境配置完成后,您可以:
最后更新: 2026-02-10