| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #!/usr/bin/env python3
- """
- 安装自动部署功能所需的依赖
- 运行方式:
- python scripts/install_deploy_deps.py
- """
- import subprocess
- import sys
- def install_package(package_name: str) -> bool:
- """安装 Python 包"""
- try:
- print(f"正在安装 {package_name}...")
- subprocess.check_call(
- [sys.executable, "-m", "pip", "install", package_name],
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE,
- )
- print(f"✅ {package_name} 安装成功")
- return True
- except subprocess.CalledProcessError as e:
- print(f"❌ {package_name} 安装失败: {e}")
- return False
- def check_package(package_name: str) -> bool:
- """检查包是否已安装"""
- try:
- __import__(package_name)
- print(f"✅ {package_name} 已安装")
- return True
- except ImportError:
- print(f"⚠️ {package_name} 未安装")
- return False
- def main():
- """主函数"""
- print("=" * 60)
- print("🔧 自动部署功能依赖安装工具")
- print("=" * 60)
- print()
- # 检查并安装 paramiko
- print("检查 paramiko 库...")
- if not check_package("paramiko"):
- if install_package("paramiko"):
- print("✅ paramiko 安装完成")
- else:
- print("❌ paramiko 安装失败,请手动安装: pip install paramiko")
- sys.exit(1)
- print()
- print("=" * 60)
- print("✅ 所有依赖已安装完成!")
- print("=" * 60)
- print()
- print("现在可以使用自动部署功能了:")
- print(" python scripts/auto_execute_tasks.py --test-connection")
- print()
- if __name__ == "__main__":
- main()
|