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

2022-01-19 19:00:44 +08:00
 ChrisFreeMan

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

3027 次点击
所在节点    Python
10 条回复
abersheeran
2022-01-19 19:04:35 +08:00
因为它所谓的单个二进制文件其实也会先解压成目录形式,然后再启动。多了一步自然慢一些
ChrisFreeMan
2022-01-19 19:06:47 +08:00
@abersheeran 🤔啊..那这个感觉好鸡肋啊
abersheeran
2022-01-19 19:10:35 +08:00
@ChrisFreeMan 还有好处的。免去了你分发的时候还要告诉用户入口在哪个目录的哪个文件
ChrisFreeMan
2022-01-19 19:28:25 +08:00
@abersheeran 搞清楚了,--onedir 情况下会自动打包成.app 形势,删除 dist 旁边的文件夹也是可以独立执行的。。我再研究一下。。
ysc3839
2022-01-19 20:01:00 +08:00
@abersheeran macOS 的 app 本来就是一个文件夹,按理说不需要自解压吧?
hotsymbol
2022-01-19 20:19:37 +08:00
需要先执行 source -- active
zachlhb
2022-01-20 14:20:17 +08:00
打包到文件夹,然后按照 macos 的格式做成 app 就行了
ChrisFreeMan
2022-01-20 16:52:22 +08:00
@hotsymbol
@zachlhb 多谢,问题已经解决了。
ali12333
2022-02-11 11:14:16 +08:00
ali12333
2022-02-11 11:21:53 +08:00
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