平时会开发一些小脚本,在工作中使用
想请教一下,打包 exe 的方案有哪些?
目前在使用 pyinstaller ,但是打包过程比较慢,打包后的 exe 感觉也挺大的
有没有更好的方案或者优化教程?
1
Nehcknarf 2 天前
Pyinstaller 还是最方便的,可以写个 shell 脚本去剔除被一并打包的无用动态库,加入 --strip 选项也能减小一定的体积。
另外可以试试 Nuitka ,虽然我也没用过 |
2
NoOneNoBody 2 天前
大是肯定的,要把 python 和三方包也打包进去
如果比较简单,没有 import 三方包,可以让 AI 转为编译语言再编译 exe ,字节就很小 |
3
yoiteshaw 2 天前 1
我习惯用 nuitka ,我觉得运行速度会快很多,打包的 exe 大不重要,用户运行起来慢更影响体验。
|
4
coderluan 2 天前
这种可以不打包吧,直接写个 bat 下载个 python 再设置下环境变量?
|
8
NewYear 2 天前
pxe ,除了绕开 Windows ,其他都很好。摊手表情
|
9
NewYear 2 天前
pxe ,除了不支持 Windows ,其他都很好。摊手表情
|
10
ClericPy 2 天前 1
https://github.com/ClericPy/nuitka_simple_gui
nuitka 就挺好了,基本不用动脑子,跳过三方库的编译提高速度,单文件会生成缓存目录。 如果对方有 Python 解释器,zipapps 打包 pyz 带依赖或者惰性安装依赖,比连解释器一起打包省点空间 虽然如果我去弄,大概率搞个 web 。。。 |
11
chenbin36255 2 天前
小脚本不要用 python 了
用 go 打包最方便 而且体积还小 |
12
stobacco 2 天前
go-wails 写这种小工具很在行,gui 用前端技术就行
|
13
xqher042 2 天前
python 嵌入式打包,打包新姿势,打包速度比 pyinstaller 还快哦 - 快给大忙人让泳道的文章 - 知乎
https://zhuanlan.zhihu.com/p/691339803 之前看到感觉不错的方式,但还没测试过 |
14
ETiV 2 天前 via iPhone
嫌 exe 大,拿 upx 压缩一下,立竿见影
|
15
lxxiil 2 天前 via iPhone
rpa 类的 Python 程序的话可以用蓝印 rpa
|
16
taoqian52 2 天前
nuitka 可以在打包的时候,选择不打包什么库进去,从而减小体积,但是要运行这个软件的人本地有环境并且装了那些库
|
17
raycool 1 天前
nuitka 用起来不错。
|
18
highkay 1 天前
pyinstaller 的兼容性,尤其是 windows 的是目前所有方案中最好的。至于大的问题是因为你当前的 runtime 下面无关的依赖太多了,似乎也没有按照 requiements 裁剪的能力(我理解这里要考虑一些动态加载的能力,不能完全根据 import 来加载),所以我一般是用 conda 单独维护一个打包环境。
|
21
lone6 OP @chenbin36255 目前完全没接触过 go ,之前有学习过 java 不知道学习 go 难度大不,而且感觉精力有点不够。目前主要弄一些辅助工作的小脚本,用 python 写起来感觉挺快,挺方便的
|
24
highkay 18 小时 21 分钟前
@lone6
1. 用 conda 创建一个新环境(这里主要看你的用户的系统,如果特别老的话,比如 win7 ,那么可能需要 py3.7.x ,不然的话就是用最新的就好了) 2. 只需要 pip install 最少的依赖+pyinstaller 3. 测试运行没问题的话再打包,应该就会比较小了 |
25
visper 16 小时 14 分钟前
换语言。用 aardio 。如果很简单的话就可以不使用 python 了。如果硬是需要使用 python 有公共的库调用之类。它也支持打包 python.
|
26
sikong31 16 小时 10 分钟前
我放弃 pyinstaller 了,因为一些依赖识别不了要自己加,时间久了会忘记,现在除非版本完全敲定,都是用嵌入式 Python 做环境,安装依赖,直接源码运行,启动速度还快一点。
|
28
chenbin36255 12 小时 33 分钟前
@lone6 #21 小脚本用 claude 转一下就 OK 了 基本都是拿来即用
|