Files
hujuying-ComfyUI-ModelScope…/install_dependencies.py
T
2025-09-02 05:18:48 +08:00

104 lines
3.0 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import subprocess
import sys
import os
def install_package(package):
"""安装Python包"""
try:
subprocess.check_call([sys.executable, "-m", "pip", "install", package])
return True
except subprocess.CalledProcessError as e:
print(f"安装 {package} 失败: {e}")
return False
def check_package(package_name):
"""检查包是否已安装"""
try:
__import__(package_name)
return True
except ImportError:
return False
def main():
print("=" * 60)
print("Qwen-Image ComfyUI 插件依赖安装工具")
print("=" * 60)
# 检查核心依赖
core_deps = {
'requests': 'requests',
'PIL': 'pillow',
'torch': 'torch',
'numpy': 'numpy'
}
print("\n🔍 检查核心依赖...")
missing_core = []
for import_name, package_name in core_deps.items():
if check_package(import_name):
print(f"✅ {package_name} 已安装")
else:
print(f"❌ {package_name} 未安装")
missing_core.append(package_name)
# 检查图生文功能依赖
print("\n🔍 检查图生文功能依赖...")
vision_deps = {
'openai': 'openai',
'httpx': 'httpx[socks]',
'socksio': 'socksio'
}
missing_vision = []
for import_name, package_name in vision_deps.items():
if check_package(import_name):
print(f"✅ {package_name} 已安装")
else:
print(f"❌ {package_name} 未安装")
missing_vision.append(package_name)
# 安装缺失的依赖
all_missing = missing_core + missing_vision
if not all_missing:
print("\n🎉 所有依赖都已安装!")
return
print(f"\n📦 需要安装 {len(all_missing)} 个依赖包:")
for pkg in all_missing:
print(f" - {pkg}")
response = input("\n是否现在安装这些依赖?(y/n): ").lower().strip()
if response in ['y', 'yes', '是']:
print("\n🚀 开始安装依赖...")
success_count = 0
for package in all_missing:
print(f"\n📦 安装 {package}...")
if install_package(package):
print(f"✅ {package} 安装成功")
success_count += 1
else:
print(f"❌ {package} 安装失败")
print(f"\n📊 安装结果: {success_count}/{len(all_missing)} 个包安装成功")
if success_count == len(all_missing):
print("🎉 所有依赖安装完成!请重启ComfyUI。")
else:
print("⚠️ 部分依赖安装失败,请手动安装或检查网络连接。")
print("\n手动安装命令:")
for package in all_missing:
print(f" pip install {package}")
else:
print("\n取消安装。")
print("\n手动安装命令:")
for package in all_missing:
print(f" pip install {package}")
if __name__ == "__main__":
main()