#!/usr/bin/env python3 """ 验证 Tkinter 版本的存储管理工具是否可以正确导入 """ import sys import os def check_python_version(): """检查 Python 版本""" print(f"Python 版本: {sys.version}") if sys.version_info < (3, 6): print("错误: 需要 Python 3.6 或更高版本") return False return True def check_tkinter(): """检查 tkinter 是否可用""" try: import tkinter as tk print(f"Tkinter 版本: {tk.Tcl().eval('info patch')}") return True except ImportError: print("错误: 未找到 tkinter 模块") print("请安装 tkinter:") print(" CentOS/RHEL: sudo yum install python3-tkinter") print(" Ubuntu/Debian: sudo apt-get install python3-tk") return False def check_modules(): """检查自定义模块""" modules_to_check = [ ('logger_config_tkinter', '日志配置'), ('dialogs_tkinter', '对话框'), ('disk_operations_tkinter', '磁盘操作'), ('raid_operations_tkinter', 'RAID 操作'), ('lvm_operations_tkinter', 'LVM 操作'), ('occupation_resolver_tkinter', '设备占用解除'), ('mainwindow_tkinter', '主窗口'), ] all_ok = True for module_name, desc in modules_to_check: try: __import__(module_name) print(f"✓ {desc}模块 ({module_name}) 加载成功") except Exception as e: print(f"✗ {desc}模块 ({module_name}) 加载失败: {e}") all_ok = False return all_ok def check_system_modules(): """检查系统信息模块""" try: from system_info import SystemInfoManager print("✓ 系统信息模块 (system_info) 加载成功") return True except Exception as e: print(f"✗ 系统信息模块 (system_info) 加载失败: {e}") return False def main(): """主函数""" print("=" * 60) print("Linux 存储管理工具 - Tkinter 版本验证") print("=" * 60) print() checks = [ ("Python 版本", check_python_version), ("Tkinter 模块", check_tkinter), ("系统模块", check_system_modules), ("自定义模块", check_modules), ] results = [] for name, check_func in checks: print(f"\n检查 {name}...") print("-" * 40) result = check_func() results.append((name, result)) print() print("=" * 60) print("验证结果汇总") print("=" * 60) all_passed = True for name, result in results: status = "通过" if result else "失败" symbol = "✓" if result else "✗" print(f"{symbol} {name}: {status}") if not result: all_passed = False print() if all_passed: print("✓ 所有检查通过!可以运行 main_tkinter.py 启动程序。") return 0 else: print("✗ 部分检查失败,请根据上述提示修复问题。") return 1 if __name__ == "__main__": sys.exit(main())