import sys import subprocess import importlib REQUIRED_PACKAGES = ['PySide6', 'proxmoxer'] def check_and_install_packages(): missing_packages = [] for package in REQUIRED_PACKAGES: try: importlib.import_module(package.replace('-', '_')) except ImportError: missing_packages.append(package) if missing_packages: print(f"缺少必要的第三方库: {', '.join(missing_packages)}") print("正在尝试自动安装...") try: subprocess.check_call([sys.executable, '-m', 'pip', 'install'] + missing_packages) print("安装完成!") return True except subprocess.CalledProcessError as e: print(f"自动安装失败: {e}") print(f"请手动运行: pip install {' '.join(missing_packages)}") return False return True def main(): if not check_and_install_packages(): sys.exit(1) try: from PySide6.QtWidgets import QApplication from main_window import MainWindow app = QApplication(sys.argv) app.setStyle('Fusion') window = MainWindow() window.show() sys.exit(app.exec()) except Exception as e: print(f"启动应用时发生错误: {e}") sys.exit(1) if __name__ == '__main__': main()