FSPacker
Python 极简 打包工具集. 👉️ 在线文档
🚀 关键特性
✅️ 已实现
⚡️ 极速打包: 比
PyInstaller、Nuitka等现有库打包速度快10-100倍🔧 操作便捷: 支持打包、清理、运行等多种模式
✨ 多项部署: 支持批量打包多个应用
🌐 离线模式: 支持离线打包
📦️ 压缩模式: 支持
zip格式压缩打包
⏳ 开发中
📦️ 分发部署: 支持生成
innosetup安装包 计划: v0.9.2🕙️ 性能优化: 支持
nuitka编译, 优化瓶颈部分代码 计划: v0.9.3🛡️ 加密防护: 支持
pyarmor加密 计划: v0.9.4
💻️ 支持平台
✅ Windows 7 ~ 11
⏳ Linux 计划: v0.9.6
❌️ MacOS 暂不支持
📚️ 支持库
✅ tkinter
windows✅ pyside2
✅ pyqt5
⏳ pyside6 计划: v0.9.1
✅ matplotlib
✅ pandas
✅ pytorch
📖 快速入门
使用方式:
pip install fspacker
cd dir/of/pyproject.toml
fsp b
警告
项目必须包含
pyproject.toml配置文件, 可使用uv或者poetry生成项目必须包含作为程序入口的
def main():函数, 或者if __name__ == "__main__:"入口函数
Python项目结构:
ex01_helloworld/
|
|___ core
| |____ __init__.py
| |____ core_a.py
| |____ core_b.py
| |____ core_c.py
|
|___ mathtools/
| |____ __init__.py
| |____ algorithms.py
|
|___ modules/
| |____ __init__.py
| |____ mod_a.py
| |____ mod_b.py
|
|___ ex01_helloworld.py
|___ global_a.py
|___ global_b.py
|___ pyproject.toml
代码示例:
# ex01_helloworld.py
import global_a # import
import global_b
from modules.mod_a import function_mod_a # import from
from modules.mod_b import function_mod_b # import from
def main():
print("hello, world")
function_mod_a()
function_mod_b()
global_a.function_global_a()
global_b.function_global_b()
if __name__ == "__main__":
main()
生成文件:
ex01_helloworld/
|
|___ ...
|
|___ dist/
| |____ runtime/
| | |___... # embed python 文件
| |
| |____ site-packages/
| | |___... # 项目依赖库
| |
| |____ src/
| | |___... # 项目源文件 / 加密源文件
| |
| |____ ex01_helloworld.exe # 项目可执行文件
| |____ ex01_helloworld.int # 入口文件
|
|___ ...