Python 打包 exe 方案

69 天前
 lone6

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

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

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

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

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

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

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

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

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

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

https://tanronggui.xyz/t/1102497

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

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

© 2021 V2EX