gpt4 book ai didi

Python3编译的应用程序通过zip减少大小?

转载 作者:行者123 更新时间:2023-12-01 00:35:33 26 4
gpt4 key购买 nike

我成功编译了一个相当大的应用程序,但是应用程序的大小太大了(大约1 GB)。我意识到几乎一半(400MB)是从2个模块(PyQt5和mpl_toolkits( basemap )中获取的))。当然,一种方法是删除您不需要的辅助服务,但就我而言,我不能这样做,因为我在我的应用程序中使用了所有这些服务。然后我正在考虑压缩这些模块,但我不知道这是否安全或执行时间是否可行。那么是否有足够的方法来最小化我的应用程序的大小,如果 ZIP 是唯一的答案,是否可以在像 PyQt5 女巫在我的脚本中多次导入的库上执行此操作?

最佳答案

这是完全有可能做到的; Python 一直支持“zipapps”,从 3.5 开始,提供 a module, zipapp, to assist with creating them .

唯一关心的是你的依赖项是否正确压缩运行;大多数这样做,但有些采用压缩(以及鸡蛋等)无法处理的文件系统层依赖项(这些文件的 setup.py 文件将声明 zip_safe=False 告诉工具不允许这样做)。具有 C 扩展的包必须声明 zip_safe=True,如 the default analyzer assumes C extensions can't be safely zipped (though many can) .

它会稍微减慢启动速度(因为它必须解压缩模块),但它不应该显着减慢运行时间,无论您导入多少次;第一个导入是唯一真正重要的导入,因为后续导入只是从内部缓存 (sys.modules) 中提取模块的缓存副本。

关于Python3编译的应用程序通过zip减少大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57807791/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com