程序简介 · 下载安装 · 功能说明 · 常见问题 · 开发与贡献
一个面向 Windows 的 Python 工具箱,把平时要在命令行里折腾的事情做成图形界面:
- 包管理器 —— 管理多个 Python 环境里的包(安装、卸载、升级)
- 程序打包工具 —— 把 Python 程序打包成 exe
- 镜像源设置工具 —— 一键切换 pip 镜像源
- 模块安装包下载器 —— 下载包及其依赖的安装文件
- 云函数部署包打包工具 —— 生成云函数部署用的 zip
启动后的主界面:
仅支持 Windows 系统。
- 操作系统:Windows 7 / 10 / 11
- Python:3.9 或更高(用 exe 版则不需要装 Python)
下限取 3.9 的原因:PyQt5-sip、chardet 等依赖的新版本已要求 3.10,pywin32 要求 3.9;而 Python 3.7 与 3.8 分别已于 2023、2024 年终止支持。用更低的 Python 版本时,pip 会直接提示版本不符,不会装出一个跑不起来的环境。
CI 覆盖 3.9 ~ 3.14,每个版本都实际跑测试。
到 Releases 页面 下载 Awespykit.exe,双击即可运行。
想固定一个永远指向最新版的下载地址,可以用:
https://github.com/laincat/AwesomePyKit/releases/download/dev-latest/Awespykit.exe
这个地址指向的是跟着
main分支自动构建的开发版,可能包含尚未充分验证的改动。 想要稳定版本请到 Releases 页面下载带版本号的那一份。
先说结论:不能直接用
pip install Awespykit。PyPI 上的
Awespykit是原作者发布的,目前只到 2.1.0,不包含本仓库的修复。 本仓库的版本要从下面两个地址装。
装最新版(地址固定,不需要改):
pip install git+https://github.com/laincat/AwesomePyKit.git@main需要已安装 git。这是唯一一个「地址永远不变、内容永远是最新」的安装方式 —— 因为它直接从仓库源码构建,而不是从附件下载。
装指定版本(不需要 git):
pip install https://github.com/laincat/AwesomePyKit/releases/download/2.2.0/awespykit-2.2.0-py3-none-any.whl这个地址里带版本号,升级到新版本时需要把 2.2.0 换成新版本号 —— 到
Releases 页面 找到对应版本,
右键复制 awespykit-*.whl 的链接即可。
为什么没有「永久指向最新 wheel」的地址:pip 要求 wheel 文件名里必须包含版本号, 所以附件名无法固定。这一点是 pip 的限制,不是本仓库的选择。
两种方式都会由 pip 自动安装好依赖(PyQt5、fastpip、pywin32 等)。
安装完成后,在命令行输入 rpk 即可启动。如果提示 rpk 不是内部或外部命令,
说明 Python 的 Scripts 目录没在 PATH 里,请自行添加,或用 python -m awespykit 启动。
注意:用 pip 安装或从源码运行时,不要用 Awespykit 去卸载或升级它自己所在的 Python 环境里的 Awespykit、PyQt5,否则可能造成文件残留或程序意外退出。 直接运行 exe 没有这个限制。
git clone https://github.com/laincat/AwesomePyKit.git
cd AwesomePyKit
pip install -r requirements.txt
python src\awespykit\runpykit.py注意:pip install -r requirements.txt 会把依赖装进你当前使用的 Python 环境。
如果不想污染现有环境,建议先建一个虚拟环境再执行。
用 PyCharm 打开项目时,请右键 src -> awespykit 目录,选择
「将目录标记为 -> 源代码根目录」,否则导入提示会有误报。
封装了 pip 命令,用图形界面管理多个 Python 环境里的包。
- 支持常规 Python 环境、venv 虚拟环境、Anaconda 主环境与虚拟环境
- 批量安装、按版本号安装、检查更新、批量卸载、批量升级
- 右键环境可打开目录、复制路径、导出包列表(requirements.txt)
- 右键包可升级、卸载、强制重装、查询导入名
批量升级/卸载前请确认了解各包之间的依赖关系,以免破坏环境。
封装了 PyInstaller 的常用命令。
- 支持选择不同环境进行打包,可在项目下创建 venv 虚拟环境
- 打包前检查项目所用模块在环境中的安装情况,缺什么可一键安装
- 支持多套配置的保存与应用;支持自定义版本信息、图标、UPX 等
一键切换 pip 使用的镜像源,支持保存自己常用的镜像源地址。
下载包及其依赖的安装文件(.whl / .tar.gz),适合离线安装或分发。
- 支持从 requirements.txt 批量读取
- 支持指定平台、Python 版本、解释器实现、ABI 等兼容条件
把云函数项目连同依赖打包成可上传的 zip 部署包,可配置排除文件。
本程序包管理功能的核心依赖 fastpip(https://github.com/hrpzcf/fastpip)的源码已 vendored 进本仓库(src/fastpip/),随程序一起打包安装,不再从 PyPI 拉取。
原因:fastpip 上游自 2023-03 起停止更新,其源码中存在无效转义序列 —— Python 3.12 起报 SyntaxWarning,将来的版本会升级为 SyntaxError,届时程序会无法导入。本仓库在其 1.7.0 基础上修复了这些问题,版本号记为 1.7.1。
因此 requirements.txt 里刻意不声明 fastpip:若声明,pip 会从 PyPI 再装一份同名包,与本仓库的副本装进同一目录互相覆盖,实际生效的是哪一份取决于安装顺序。
上游许可是 MIT(见 src/fastpip/LICENSE),vendored 副本保留其原始署名。
Q:双击 exe 没反应?
新版本会在依赖版本不符时弹出对话框说明原因。如果完全没有窗口出现,请确认:
- 下载的 exe 是否完整(对照
Awespykit.exe.sha256校验) - 是否被杀毒软件拦截(单文件打包的程序偶尔会被误报,可加入白名单)
校验下载文件(PowerShell):
Get-FileHash .\Awespykit.exe -Algorithm SHA256Q:pip install Awespykit 装到的不是这个版本?
是的,PyPI 上的包名由原作者持有,本仓库的版本要用方式二里的地址安装。
Q:提示缺少模块 / 导入失败?
用包管理器或打包工具时若提示某模块未安装,按提示安装即可。
如果提示的是 fastpip 版本不符,按弹窗里的命令升级。
Q:配置文件存放在哪里?
%LOCALAPPDATA%\Awespykit(配置在 config 子目录,自定义主题放 themes 子目录)。
卸载程序不会删除这个目录,需要清理可手动删除。
本仓库是 hrpzcf/AwesomePyKit 的延续。 原作者自 2024 年 10 月起没有再更新,本仓库在其基础上继续维护。
与原版相比,本仓库的主要差别:
- 修复了一批会在使用中真实碰到的问题,详见各版本的 Release 说明
- 包内导入规范化,不再依赖 sys.path 的注入顺序
- 加入 CI(多 Python 版本测试 + exe 构建冒烟测试)与自动发布
- 支持三种启动方式:rpk 命令、python -m awespykit、直接运行脚本
界面布局与操作方式保持原样,原有的配置文件可以直接继续使用。
授权:沿用原项目的 GPL-3.0 许可,作者署名保留原样。
pip install -r requirements-dev.txtruff check src/ tests/ packaging/ :: 静态检查
python -m pytest tests :: 测试(无头运行,不需要显示器)
python -m build --outdir dist-python :: 构建 pip 分发包
python packaging/make_version_info.py :: 生成 exe 的版本信息
python -m PyInstaller --noconfirm packaging/awespykit.spec :: 构建 exe测试与 CI 都通过 QT_QPA_PLATFORM=offscreen 无头运行,因此在没有图形界面的环境
(CI、远程终端)里也能跑。
src/awespykit/
runpykit.py 程序入口(同时支持 rpk 命令、python -m awespykit、直接运行脚本)
__info__.py 版本号等基本信息
com/ 通用组件:枚举、自定义控件、线程封装、导入名对照表
logic/ 各功能窗口的逻辑
settings/ 配置读写(JSON,带类型还原与容错)
ui/ 由 Qt Designer 生成的界面代码,请勿手工修改
utils/ 工具:打包、虚拟环境、导入检查、主题
res/ 图标、样式表等资源(res.py 由 res.qrc 生成,请勿手工修改)
packaging/ PyInstaller 配置与发布辅助脚本
tests/ 测试
不需要本地打包,产物由 GitHub Actions 自动构建,分两种:
开发版 —— 每次推送到 main 都自动构建并发布,版本号由 git 提交历史推导
(形如 2.2.1.dev3)。它挂在固定的 tag dev-latest 下,每轮覆盖同名附件,
所以下载地址恒定不变:
https://github.com/laincat/AwesomePyKit/releases/download/dev-latest/Awespykit.exe
开发版会标记为 Pre-release,也不会占用 releases/latest —— 那个位置留给正式发版。
正式发版 —— 在 GitHub 上创建 release(打 tag)即可,产物附件会补到那一条 release 上。
标签需要是合法的版本号,例如 v2.3.0、v2.3.0-rc1;工作流会先把标签规范化为
PEP 440 版本号,无法转换时会在第一步就明确报错指出问题。
两种方式都会:构建 sdist 与 wheel → 构建 Windows 单文件 exe 并启动它做冒烟测试 → 计算全部产物的 SHA256 → 上传附件。
只想验证打包配置、不发布时,手动触发工作流(workflow_dispatch)即可,
产物只留在 Actions 的 artifact 里(保留 14 天)。
Dependabot 每周检查 requirements*.txt 与 workflow 里引用的 Action。
patch 级更新会在 CI 通过后自动合并;minor 与 major 留给人看 ——
这个项目要把 exe 发给真实用户,打包工具链的版本变化需要人工确认。




