这个问题与pyinstaller 可执行文件的差异更新有关(修改嵌入式 PYZ-00.pyz)
我想创建一个可分发的 pyinstaller,它可以很容易地进行热修复而不会浪费太多带宽。
嵌入 python 代码 .pyc 文件的标准 pyinstaller 方法似乎是将它们放入 PYZ 文件(ZLIB 存档)中,将 PYZ 文件添加到 CARchive 并将 CArchive 附加到可执行文件的末尾。
我认为,以下解决方案可能会对我有所帮助,但它会惩罚程序的启动时间,但这是可以接受的。
如果可能的话,我希望所有收集的 .pyc 文件都不会添加到 .PYZ 文件中,而是添加到普通的 .zip 文件中,然后将这个普通的 zip 文件添加(“收集”)到dist
文件夹中。
我怎么能做到这一点?
另一个问题的答案https://stackoverflow.com/a/68754754/858675几乎就在那里,可以将所有 .pyc 文件打包成一个 .zip 文件。
但是,模块的值__file__
会有所不同,我猜,如果依赖于,这可能会破坏一些现有代码__file__