# 安装指南

## 虚拟环境设置

由于现代 Linux 系统（如 Ubuntu 22.04+）不允许直接在系统 Python 中安装包，必须使用虚拟环境。

## 推荐方案：项目根目录统一虚拟环境

在项目根目录创建一个虚拟环境，供 backend 和 trading_system 共享：

```bash
# 在项目根目录
cd /path/to/auto_trade_sys

# 创建虚拟环境
python3 -m venv .venv

# 激活虚拟环境
source .venv/bin/activate  # Linux/Mac
# 或 .venv\Scripts\activate  # Windows

# 安装后端依赖（包含交易系统依赖）
cd backend
pip install -r requirements.txt

# 安装交易系统依赖（如果需要额外依赖）
cd ../trading_system
pip install -r requirements.txt
```

## 独立虚拟环境方案

如果需要独立管理，可以分别为 backend 和 trading_system 创建虚拟环境：

### Backend 虚拟环境

```bash
cd backend
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```

### Trading System 虚拟环境

```bash
cd trading_system
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```

或者使用安装脚本：

```bash
cd trading_system
./setup.sh
```

## 验证安装

### 验证后端依赖

```bash
cd backend
source ../.venv/bin/activate  # 或 source .venv/bin/activate
python -c "import fastapi; print('FastAPI:', fastapi.__version__)"
python -c "import pymysql; print('PyMySQL installed')"
```

### 验证交易系统依赖

```bash
cd trading_system
source ../.venv/bin/activate  # 或 source .venv/bin/activate
python -c "from binance import AsyncClient; print('python-binance installed')"
python -c "import unicorn_binance_websocket_api; print('Unicorn WebSocket installed')"
```

## 常见问题

### 错误：externally-managed-environment

**原因**：系统 Python 环境被保护，不允许直接安装包。

**解决**：使用虚拟环境（见上方方案）。

### 错误：python3-venv 未安装

```bash
# Ubuntu/Debian
sudo apt install python3-venv python3-full

# CentOS/RHEL
sudo yum install python3-venv
```

### 虚拟环境激活失败

确保使用正确的路径：

```bash
# 检查虚拟环境是否存在
ls -la .venv/bin/activate

# 使用绝对路径激活
source /path/to/auto_trade_sys/.venv/bin/activate
```

## 生产环境部署

生产环境建议使用 Supervisor 或 systemd，在配置中指定虚拟环境的 Python 路径：

```ini
# Supervisor 配置示例
[program:auto_trade_system]
command=/path/to/auto_trade_sys/.venv/bin/python /path/to/auto_trade_sys/trading_system/main.py
directory=/path/to/auto_trade_sys/trading_system
```
