这里假设你已经知道 PyStand 是做什么用的。PyStandMate 可以看作是一个 PyStand 打包助手。它提供了一个命令行工具,以自动化 PyStand 打包流程。具体工作流程如下:
- 从 PyStand 的 Release 页面自动下载指定版本的
PyStand.exe
; - 从 Python 官网下载指定版本的 Windows embeddable Python 压缩包;
- 自动安装 pip 及指定的第三方包;
- 将上述三步下载的文件按照 PyStand 要求的目录结构进行组织;
- 利用 GitHub Actions 自动执行如上流程,并将打包好的文件上传;
命令行参数:
- --pystand-version:指定 PyStand 的 Release 版本,仅支持 PyStand 1.0.11 及以上版本,默认值为 1.0.11;
- --bitness:指定 PyStand 的位数,必须是 32 或 64;默认值为 32;
- --compiler:指定用于生成 PyStand 的编译器,必须是 MSVC 或 GCC;默认值为 MSVC;
- --console:当指定该参数时,表示使用 PyStand 的命令行版本;默认使用 PyStand GUI 版本;
- --pystand-int:PyStand 启动脚本
PyStand.int
文件路径; - --python-version:指定 Python 版本;当指定一个不可用的 Python 版本时,程序将自动从 Python 下载页面获取所有可用的 Python 版本列表,并打印出来;默认值为 3.8.10;
- --package:指定需要额外下载的第三方包;也可以指定一个
requirements.txt
; - --pip-index-url:指定 PyPI 镜像 base URL(如:https://mirrors.tuna.tsinghua.edu.cn/help/pypi/ 、https://pypi.doubanio.com/simple );默认值为 https://pypi.python.org/simple ;
- --response-file:用户可以将要传递给 PyStandMate.py 的命令行参数存储在文本文件(我们称之为“Response file”)中,然后通过该参数指定 Response file;
PyStandMate.rsp
便是一个存储了命令行参数的 Response file;
用户可以通过:
python .\PyStandMate.py --help
获取完整的命令行帮助。
-
将本仓库的代码克隆或下载到本地;
-
按照自己的需求修改
PyStandMate.rsp
; -
将要下载的第三方包逐行写入
requirements.txt
; -
通过命令行运行:
python .\PyStandMate.py --response-file PyStandMate.rsp
- Fork 本仓库;
- 按照自己的需求修改
PyStandMate.rsp
; - 将要下载的第三方包逐行写入
requirements.txt
; - 提交上述两步的更改,触发 GitHub Actions CI;待 CI 跑完后,即可从相应 Workflow run 的 Summary 页面下载生成的 Artifacts;
- 如果需要将上一步的 Artifacts 发布在 GitHub Release 页面,可以在最新的提交上添加一个 Tag,并将该 Tag 推送至 GitHub;
-
移除.dist-info
文件夹; -
自动打包PyStand.int
文件; - 增加一些 glob 规则文件,以实现包的自动裁剪;
MIT