Quickstart
🧰 Python 包管理器 GUI
一个基于 Tkinter 的图形化 pip 管理工具,方便用户在界面中查看、搜索、更新和卸载 Python 包。
🚀 功能概览
📋 包列表
显示所有已安装的 pip 包及其版本
🔍 搜索
按包名实时过滤显示结果
🕐 检查更新
自动检测哪些包有更新版本
⏫ 一键更新
批量更新所有过时包
🧩 版本选择
为单个包显示所有可用版本,支持安装、降级、重新安装
❌ 卸载
卸载选定的包
⚙️ pip 源查看
显示当前 pip 使用的索引源(PyPI 镜像)
📜 日志
显示所有 pip 命令的详细输出结果
🧵 多线程
所有 pip 操作在后台执行,界面不会卡顿
🖼️ 界面布局
主要界面元素:
表格 (Treeview):显示包名与当前版本
搜索框:输入包名可实时筛选
按钮区:
安装选定版本卸载包检查更新仅显示过时包 / 显示所有包更新全部切换源
日志区 (ScrolledText):显示 pip 命令输出与状态信息
⚙️ 主要模块说明
1️⃣ 包数据获取
get_installed_packages()读取系统中所有已安装 pip 包的名称与版本。get_latest_version(pkg_name)调用pip index versions获取最新版本,带缓存机制。parse_pip_index_versions()解析 pip 命令输出,提取出版本号列表,防止格式差异导致失败。
2️⃣ GUI 表格管理
populate_table()填充包表格数据,可显示“所有包”或“仅过时包”。search_packages()根据输入的关键字实时过滤包列表。on_tree_select()/place_combobox()在表格中显示版本下拉框,让用户选择特定版本。
3️⃣ pip 命令执行与日志
run_pip_command_threaded()在线程中运行 pip 安装/卸载命令,避免界面冻结。update_all_packages_threaded()批量更新所有过时包(逐个执行 pip install --upgrade)。update_log(message)向日志区域追加输出。command_finished()命令执行结束后刷新包列表或恢复按钮状态。
4️⃣ 按钮与状态控制
disable_buttons()/enable_buttons()防止在操作过程中重复点击。update_gui_after_refresh()刷新 GUI 显示最新包状态。update_combobox_position()当表格滚动或界面变化时重新定位下拉框。
💡 设计特点
多线程防卡顿
自动刷新安装状态
缓存版本查询结果(5分钟有效)
支持命令超时与错误处理
详细日志输出,便于排错
可跨平台运行
🖥️ 使用方式
运行
最后更新于