auto_trade_sys/backend/TROUBLESHOOTING.md
薇薇安 c7f1361d99 1
2026-02-17 23:13:49 +08:00

2.0 KiB

Backend 启动问题排查指南

常见问题

1. 语法错误

错误信息: SyntaxError: expected 'except' or 'finally' block

解决方法:

  • 检查代码中的 try: 块是否都有对应的 exceptfinally
  • 检查缩进是否正确
  • 运行 python3 -m py_compile api/routes/trades.py 检查语法

2. 缺少依赖模块

错误信息: ModuleNotFoundError: No module named 'xxx'

解决方法:

# 激活虚拟环境
source ../.venv/bin/activate  # 或 source .venv/bin/activate

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

# 或者单独安装缺失的模块
pip install python-jose[cryptography]

3. 导入错误

错误信息: ModuleNotFoundError: No module named 'api'

解决方法:

  • 确保在 backend 目录下运行
  • 检查 PYTHONPATH 是否正确设置
  • 使用 cd backend && python3 -m uvicorn api.main:app 启动

排查步骤

步骤 1: 检查依赖

cd backend
bash check_dependencies.sh

步骤 2: 检查语法

cd backend
source ../.venv/bin/activate
python3 -m py_compile api/main.py
python3 -m py_compile api/routes/*.py

步骤 3: 测试导入

cd backend
source ../.venv/bin/activate
python3 -c "import api.main; print('✓ 导入成功')"

步骤 4: 查看日志

# 查看最新的错误日志
tail -50 backend/logs/api.log
tail -50 backend/logs/uvicorn.log

步骤 5: 手动启动测试

cd backend
source ../.venv/bin/activate
export DB_HOST=your_db_host
export DB_PORT=3306
export DB_USER=your_db_user
export DB_PASSWORD=your_db_password
export DB_NAME=auto_trade_sys
uvicorn api.main:app --host 0.0.0.0 --port 8001 --log-level info

启动脚本

开发模式(自动重载)

cd backend
./start_dev.sh

生产模式(后台运行)

cd backend
./start.sh

检查服务状态

# 检查进程
ps aux | grep uvicorn

# 检查端口
lsof -i :8001

# 测试健康检查
curl http://localhost:8001/api/health