# 🎉 Backend 虚拟环境设置完成! ## 设置摘要 ✅ **Python 3.14.0** - 版本符合要求 ✅ **虚拟环境** - 已创建并配置 ✅ **依赖包** - 已安装所有必需包 ✅ **数据库** - 已初始化并创建管理员账户 ✅ **Flask应用** - 测试通过,可正常运行 ## 快速开始 ### 1. 激活虚拟环境 ```bash # Windows activate_venv.bat # 或者直接激活 venv\Scripts\activate.bat ``` ### 2. 验证设置 ```bash python verify_setup.py ``` ### 3. 启动应用 ```bash python run.py ``` ### 4. 访问应用 - 应用地址: http://localhost:5000 - 管理员账户: `admin` / `admin123` ## 已创建的文件 ### 设置脚本 - `setup_venv.py` - 虚拟环境设置脚本 - `setup.bat` - Windows快速设置 - `setup.sh` - Unix/Linux快速设置 - `activate_venv.bat` - Windows激活脚本 - `activate_venv.sh` - Unix/Linux激活脚本 ### 数据库相关 - `init_db.py` - 数据库初始化脚本 - `instance/dev.db` - SQLite开发数据库 ### 验证工具 - `verify_setup.py` - 环境验证脚本 ### 依赖管理 - `requirements.txt` - 基础依赖 (已更新为兼容版本) - `requirements-dev.txt` - 开发依赖 (包含PostgreSQL支持) ## 常用命令 ### 开发 ```bash # 启动Flask应用 (开发模式) python run.py # 重新初始化数据库 python init_db.py --reset # 创建示例数据 python init_db.py --with-demo ``` ### 测试 ```bash # 运行所有测试 pytest # 运行测试并显示覆盖率 pytest --cov=app # 验证环境设置 python verify_setup.py ``` ### Celery (任务队列) ```bash # 启动Celery worker celery -A celery_worker worker --loglevel=info # Windows上需要使用solo池 celery -A celery_worker worker --loglevel=info --pool=solo ``` ### 依赖管理 ```bash # 安装新依赖 pip install package-name # 更新requirements.txt pip freeze > requirements.txt # 升级所有依赖 python setup_venv.py --upgrade ``` ## 项目结构 ``` backend/ ├── venv/ # 虚拟环境 ├── app/ # 应用代码 │ ├── api/ # API路由 │ ├── models/ # 数据模型 │ ├── services/ # 业务逻辑 │ ├── scanners/ # AWS扫描器 │ ├── tasks/ # Celery任务 │ └── utils/ # 工具函数 ├── config/ # 配置文件 ├── migrations/ # 数据库迁移 ├── tests/ # 测试文件 ├── instance/ # 实例文件 (数据库等) ├── uploads/ # 上传文件 ├── reports/ # 生成的报告 ├── requirements.txt # 基础依赖 ├── requirements-dev.txt # 开发依赖 ├── setup_venv.py # 环境设置脚本 ├── init_db.py # 数据库初始化 ├── verify_setup.py # 环境验证 ├── run.py # 应用入口 └── README_VENV.md # 详细使用说明 ``` ## 环境变量 创建 `.env` 文件 (可选): ```env FLASK_ENV=development SECRET_KEY=your-secret-key JWT_SECRET_KEY=your-jwt-secret-key DATABASE_URL=sqlite:///dev.db CELERY_BROKER_URL=redis://localhost:6379/0 CELERY_RESULT_BACKEND=redis://localhost:6379/1 ENCRYPTION_KEY=your-encryption-key ``` ## 数据库信息 ### 默认管理员账户 - **用户名**: `admin` - **密码**: `admin123` - **角色**: `admin` ⚠️ **重要**: 请在生产环境中修改默认密码! ### 数据库表 - `users` - 用户表 - `aws_credentials` - AWS凭证表 - `user_credentials` - 用户-凭证关联表 - `tasks` - 扫描任务表 - `task_logs` - 任务日志表 - `reports` - 报告表 ## 故障排除 ### 常见问题 1. **虚拟环境激活失败** ```bash # 重新创建虚拟环境 python setup_venv.py --clean ``` 2. **依赖安装失败** ```bash # 升级pip并重试 python -m pip install --upgrade pip python setup_venv.py --upgrade ``` 3. **数据库问题** ```bash # 重置数据库 python init_db.py --reset ``` 4. **Flask应用启动失败** ```bash # 验证环境 python verify_setup.py ``` ### 获取帮助 ```bash # 查看脚本帮助 python setup_venv.py --help python init_db.py --help ``` ## 下一步 1. **配置IDE**: 将IDE的Python解释器设置为 `venv/Scripts/python.exe` 2. **安装Redis**: 如需使用Celery任务队列 3. **配置PostgreSQL**: 如需使用PostgreSQL数据库 4. **设置环境变量**: 创建 `.env` 文件配置生产环境 --- 🚀 **环境已就绪,开始开发吧!**