Files
proxmox-gui/proxmox_gui.py

49 lines
1.3 KiB
Python

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()