2022-09-03 19:41:26 +08:00
|
|
|
|
# Py2exe-GUI
|
|
|
|
|
|
2022-09-15 11:06:43 +08:00
|
|
|
|
更易用的 Python 打包工具!
|
2022-09-06 10:18:17 +08:00
|
|
|
|
|
2022-09-15 11:06:43 +08:00
|
|
|
|
![GitHub Repo stars](https://img.shields.io/github/stars/muziing/Py2exe-GUI)
|
|
|
|
|
[![PyPI Version](https://img.shields.io/pypi/v/py2exe-gui)](https://pypi.org/project/py2exe-gui/)
|
|
|
|
|
[![License](https://img.shields.io/github/license/muziing/Py2exe-GUI)](https://www.gnu.org/licenses/gpl-3.0.html)
|
|
|
|
|
![Python version](https://img.shields.io/pypi/pyversions/py2exe-gui)
|
2022-09-05 21:28:57 +08:00
|
|
|
|
[![PySide Version](https://img.shields.io/badge/PySide-6.2-blue)](https://doc.qt.io/qtforpython/index.html)
|
|
|
|
|
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
|
|
|
|
|
[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort/)
|
2022-09-06 10:18:17 +08:00
|
|
|
|
[![Checked with mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](http://mypy-lang.org/)
|
2022-09-05 21:28:57 +08:00
|
|
|
|
|
2022-09-15 11:06:43 +08:00
|
|
|
|
## 简介
|
|
|
|
|
|
2022-09-05 21:28:57 +08:00
|
|
|
|
Py2exe-GUI 是一个基于 [PySide6](https://doc.qt.io/qtforpython/index.html) 开发的 [PyInstaller](https://pyinstaller.org/) 辅助工具,旨在提供完整易用的图形化界面,方便用户进行 Python 项目的打包。
|
|
|
|
|
|
2022-09-09 10:11:14 +08:00
|
|
|
|
![截图](docs/source/images/Py2exe-GUI_v0.1.0_screenshot.png)
|
|
|
|
|
|
2022-09-05 21:28:57 +08:00
|
|
|
|
有如下特性:
|
2022-09-03 19:41:26 +08:00
|
|
|
|
|
|
|
|
|
- 完全图形化界面,易用
|
|
|
|
|
- 支持 PyInstaller 的全部选项
|
2022-09-15 11:06:43 +08:00
|
|
|
|
- 可以调用本地任何一个 Python 解释器,无需在每个待打包的解释器环境中重复安装(暂未实现)
|
2022-09-03 19:41:26 +08:00
|
|
|
|
- 跨平台,Windows、Linux、MacOS 均支持
|
|
|
|
|
|
2022-09-15 11:06:43 +08:00
|
|
|
|
## 如何使用
|
|
|
|
|
|
|
|
|
|
### 安装
|
|
|
|
|
|
|
|
|
|
Py2exe-GUI 已经发布至 PyPI,直接通过 pip 工具安装即可:
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
pip install py2exe-gui
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 运行
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
python -m py2exe_gui
|
|
|
|
|
```
|
|
|
|
|
|
2022-09-03 19:41:26 +08:00
|
|
|
|
## 项目结构
|
|
|
|
|
|
2022-09-15 11:06:43 +08:00
|
|
|
|
- 项目所有代码均在 [py2exe_gui](src/py2exe_gui) 目录下
|
2022-09-09 10:11:14 +08:00
|
|
|
|
- [Widgets](src/py2exe_gui/Widgets) 目录下包含所有界面控件
|
|
|
|
|
- [Core](src/py2exe_gui/Core) 目录中为执行打包的代码
|
2022-09-03 19:41:26 +08:00
|
|
|
|
|
2022-09-05 21:28:57 +08:00
|
|
|
|
仅为图形化界面工具,不依赖于需要打包的 Python 环境。也提供 exe 发布版。
|
2022-09-03 19:41:26 +08:00
|
|
|
|
|
2022-09-05 21:28:57 +08:00
|
|
|
|
可以显式指定打包时使用的 Python 解释器与对应环境
|
2022-09-03 19:41:26 +08:00
|
|
|
|
(调用该解释器的 `python3 -m PyInstaller myscript.py` 即可)
|
|
|
|
|
|
|
|
|
|
## TODO
|
|
|
|
|
|
2022-09-06 10:18:17 +08:00
|
|
|
|
- [x] 解决相对引用问题
|
2022-09-05 21:28:57 +08:00
|
|
|
|
- [x] 将参数拼接成完整调用命令(完成待优化)
|
|
|
|
|
- [x] 使用 QProcess 替代 subprocess 以解决界面卡死问题
|
|
|
|
|
- [ ] 将 PyInstaller 的输出显示至单独的弹出窗口
|
|
|
|
|
- [ ] 子进程运行时阻塞主窗口关闭
|
2022-09-06 10:18:17 +08:00
|
|
|
|
- [ ] 增加状态栏信息
|
2022-09-05 21:28:57 +08:00
|
|
|
|
- [ ] Python 解释器选择器
|
|
|
|
|
- [ ] 实现跨平台功能(不同平台间的差异功能)
|
|
|
|
|
- [ ] 保存与读取打包项目文件(json? yaml? toml?)
|
|
|
|
|
- [ ] logging 日志记录
|
|
|
|
|
- [ ] QSS 与美化
|
|
|
|
|
- [ ] 翻译与国际化
|