| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #!/usr/bin/env python3
- """
- 依赖安装脚本
- """
- import subprocess
- import sys
- import os
- def run_command(command):
- """运行命令"""
- print(f"执行命令: {command}")
- result = subprocess.run(command, shell=True, capture_output=True, text=True)
- if result.returncode != 0:
- print(f"命令执行失败: {result.stderr}")
- return False
- print(f"命令执行成功: {result.stdout}")
- return True
- def install_dependencies():
- """安装依赖"""
- print("🚀 开始安装Python依赖...")
-
- # 升级pip
- if not run_command(f"{sys.executable} -m pip install --upgrade pip"):
- print("❌ 升级pip失败")
- return False
-
- # 安装基础依赖
- dependencies = [
- "fastapi==0.104.1",
- "uvicorn[standard]==0.24.0",
- "sqlalchemy==2.0.23",
- "aiomysql==0.2.0",
- "python-jose[cryptography]==3.3.0",
- "passlib[bcrypt]==1.7.4",
- "pydantic==2.5.0",
- "pydantic-settings==2.1.0",
- "python-multipart==0.0.6",
- "python-dotenv==1.0.0",
- "email-validator==2.1.0",
- "httpx==0.25.2",
- "Pillow==10.1.0",
- "python-dateutil==2.8.2"
- ]
-
- for dep in dependencies:
- print(f"安装 {dep}...")
- if not run_command(f"{sys.executable} -m pip install {dep}"):
- print(f"❌ 安装 {dep} 失败")
- return False
-
- print("✅ 所有依赖安装成功!")
- return True
- def main():
- """主函数"""
- print("=" * 50)
- print("SSO后端依赖安装脚本")
- print("=" * 50)
-
- if install_dependencies():
- print("\n🎉 依赖安装完成!")
- print("\n下一步:")
- print("1. 配置数据库连接 (编辑 .env 文件)")
- print("2. 初始化数据库: python scripts/init_db.py")
- print("3. 启动服务: cd src && python -m app.main")
- else:
- print("\n❌ 依赖安装失败,请检查错误信息")
- sys.exit(1)
- if __name__ == "__main__":
- main()
|