Skip to content

Awespykit 2.3.0

Choose a tag to compare

@laincat laincat released this 28 Sep 02:09
· 2 commits to main since this release

本次发布包含两项实质改动,其中下载体积减少约三分之一。

exe 体积:42.9 MB → 28.1 MB(-34%)

本程序是纯 QtWidgets 界面,代码里只用到 QtCore / QtGui / QtWidgets 三个模块,但 PyQt5 的打包 hook 会把整套 Qt5 运行库都收进来。已排除确定用不到的部分:

  • QML / Quick 引擎(约 7.8 MB)—— 程序未使用 QML
  • 软件 OpenGL 回退 opengl32sw.dll(20 MB)—— 已实测,设置 QT_OPENGL=software 时程序仍正常
  • ANGLE 相关(libGLESv2、libEGL)与 d3dcompiler_47
  • 网络 / WebSocket / DBus / 定位 / 多媒体 / SQL / 蓝牙 / NFC 等模块
  • 未使用的图片格式插件(tiff、webp、tga、wbmp、icns、svg)—— 程序只用 PNG 与 GIF

保留了 qwindows / qminimal / qoffscreen 三个平台插件(offscreen 是自动化测试依赖的)。功能验证覆盖三种场景:普通桌面、无显示器环境、虚拟机/远程桌面。

fastpip 改为随程序一起维护

fastpip 是包管理功能的核心依赖,由同一位原作者维护,自 2023-03 起停止更新。其源码里存在无效转义序列:Python 3.12 起会报 SyntaxWarning,而后续版本计划升级为 SyntaxError —— 一旦成为硬错误,fastpip 将无法导入,本程序也随之启动不了。

现已把它的源码并入本项目(src/fastpip/)一并维护:

  • 修掉上述转义问题;
  • 版本号记为 1.7.1,与上游 1.7.0 区分;
  • 保留上游 MIT 许可与署名。

顺带修掉一个隐蔽的冲突:原先 requirements.txt 声明了 fastpip,pip 会从 PyPI 再装一份同名包,与本仓库副本装进同一目录互相覆盖 —— 实际生效的是哪一份取决于安装顺序。现已移除该声明,并补上它原本自动带入的 psutil。

功能已在 Python 3.9 与 3.14 上分别实测:列包、版本探测、导入名映射、安装、卸载、下载 wheel、导出 requirements、查可升级,全部正常。

安装方式

PyPI 上的 Awespykit 由原作者持有,仍停在 2.1.0,请用下面地址安装本仓库的版本。

pip install https://github.com/laincat/AwesomePyKit/releases/download/2.3.0/awespykit-2.3.0-py3-none-any.whl

exe 版直接下载下面的 Awespykit.exe 双击运行,无需安装 Python。

产物

文件 说明
Awespykit.exe Windows 单文件可执行程序
Awespykit.exe.sha256 exe 的 SHA256 校验和
awespykit-2.3.0-py3-none-any.whl Python 分发包
awespykit-2.3.0.tar.gz 源码分发包
python-dist.sha256 两个 Python 分发包的 SHA256