有大佬知道为啥用 pyinstaller 打包 Python 写的 macOS 应用,使用参数 --onefile 打包为单个二进制文件的时候启动超级超级慢吗?🥺

2022 年 1 月 19 日
 ChrisFreeMan

--onedir 参数的时候速度正常

3632 次点击
所在节点    Python
10 条回复
abersheeran
2022 年 1 月 19 日
因为它所谓的单个二进制文件其实也会先解压成目录形式,然后再启动。多了一步自然慢一些
ChrisFreeMan
2022 年 1 月 19 日
@abersheeran 🤔啊..那这个感觉好鸡肋啊
abersheeran
2022 年 1 月 19 日
@ChrisFreeMan 还有好处的。免去了你分发的时候还要告诉用户入口在哪个目录的哪个文件
ChrisFreeMan
2022 年 1 月 19 日
@abersheeran 搞清楚了,--onedir 情况下会自动打包成.app 形势,删除 dist 旁边的文件夹也是可以独立执行的。。我再研究一下。。
ysc3839
2022 年 1 月 19 日
@abersheeran macOS 的 app 本来就是一个文件夹,按理说不需要自解压吧?
hotsymbol
2022 年 1 月 19 日
需要先执行 source -- active
zachlhb
2022 年 1 月 20 日
打包到文件夹,然后按照 macos 的格式做成 app 就行了
ChrisFreeMan
2022 年 1 月 20 日
@hotsymbol
@zachlhb 多谢,问题已经解决了。
ali12333
2022 年 2 月 11 日
ali12333
2022 年 2 月 11 日
If you specify --windowed with either option, the dist folder also contains an OS X application named myscript.app.

所以如果你用了-w, 或者--windowed, 那么就会自动生成一个.app 的文件夹, 可以直接运行, 比 windows 要方便些, windows 还要使用 Enigma Virtual Box 将文件夹压缩成一个 exe 文件。

-D 的启动速度快非常多, 但是 -D 的体积会比 -F 要大 2-3 倍

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

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

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

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

© 2021 V2EX