Python 打包 exe 方案

3 天前
 lone6

平时会开发一些小脚本,在工作中使用

想请教一下,打包 exe 的方案有哪些?

目前在使用 pyinstaller ,但是打包过程比较慢,打包后的 exe 感觉也挺大的

有没有更好的方案或者优化教程?

2377 次点击
所在节点    Python
30 条回复
Nehcknarf
3 天前
Pyinstaller 还是最方便的,可以写个 shell 脚本去剔除被一并打包的无用动态库,加入 --strip 选项也能减小一定的体积。
另外可以试试 Nuitka ,虽然我也没用过
NoOneNoBody
3 天前
大是肯定的,要把 python 和三方包也打包进去
如果比较简单,没有 import 三方包,可以让 AI 转为编译语言再编译 exe ,字节就很小
yoiteshaw
3 天前
我习惯用 nuitka ,我觉得运行速度会快很多,打包的 exe 大不重要,用户运行起来慢更影响体验。
coderluan
3 天前
这种可以不打包吧,直接写个 bat 下载个 python 再设置下环境变量?
lone6
3 天前
@coderluan 有的工具会发给同事用,所以想打包 exe
lone6
3 天前
@yoiteshaw 有道理,回头用 nuitka 试试
lone6
3 天前
@Nehcknarf 剔除无用动态库这块没接触过,有推荐的教程吗?
NewYear
3 天前
pxe ,除了绕开 Windows ,其他都很好。摊手表情
NewYear
3 天前
pxe ,除了不支持 Windows ,其他都很好。摊手表情
ClericPy
3 天前
https://github.com/ClericPy/nuitka_simple_gui

nuitka 就挺好了,基本不用动脑子,跳过三方库的编译提高速度,单文件会生成缓存目录。

如果对方有 Python 解释器,zipapps 打包 pyz 带依赖或者惰性安装依赖,比连解释器一起打包省点空间

虽然如果我去弄,大概率搞个 web 。。。
chenbin36255
3 天前
小脚本不要用 python 了
用 go 打包最方便 而且体积还小
stobacco
3 天前
go-wails 写这种小工具很在行,gui 用前端技术就行
xqher042
3 天前
python 嵌入式打包,打包新姿势,打包速度比 pyinstaller 还快哦 - 快给大忙人让泳道的文章 - 知乎
https://zhuanlan.zhihu.com/p/691339803

之前看到感觉不错的方式,但还没测试过
ETiV
3 天前
嫌 exe 大,拿 upx 压缩一下,立竿见影
lxxiil
3 天前
rpa 类的 Python 程序的话可以用蓝印 rpa
taoqian52
3 天前
nuitka 可以在打包的时候,选择不打包什么库进去,从而减小体积,但是要运行这个软件的人本地有环境并且装了那些库
raycool
2 天前
nuitka 用起来不错。
highkay
2 天前
pyinstaller 的兼容性,尤其是 windows 的是目前所有方案中最好的。至于大的问题是因为你当前的 runtime 下面无关的依赖太多了,似乎也没有按照 requiements 裁剪的能力(我理解这里要考虑一些动态加载的能力,不能完全根据 import 来加载),所以我一般是用 conda 单独维护一个打包环境。
zhzy
2 天前
@xqher042 其实如果用了 venv/uv/rye 或者其他类似虚拟环境的工具,也可以手动把 venv 一起打包,写个脚本用 venv 里的 python 启动就行
lone6
1 天前
@ClericPy 也有搞 web 的想法,奈何不懂前端,这几天在尝试用 cursor 写前端,用 fastapi 搞后端尝试一下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1102497

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX