multiple on-disk PKG files for the bundled app's start up sequence? #9285
Replies: 1 comment
-
Not really. The loading code expects the executable to have exactly one associated PKG archive, which is typically embedded in the executable. In
This option is for making the whole PKG archive external; i.e., instead of looking for PKG in the executable itself, the bootloader code looks for the .pkg file with matching basename that is located next to the executable. (The "append" refers to whether the PKG is appended to the executable file; it is not "append" in the sense of appending multiple entries). But your question seems to be about PYZ archive, not the PKG one. The loading code also expects to find only one PYZ archive in the PKG archive - you can go out of your way to put multiple PYZ entries into PKG, but only the first will be used. If you want to do incremental updates, you could go with But as far as I'm concerned, the proper solution to your updating problem would be to use some sort of differential updating scheme (i.e., patch the existing files with a differential patch to obtain the new full set). Perhaps see if you can find an installer that can do this for you. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello Friends!
Is it easily possible to implement the use of multiple on-disk PKG files for the bundled app's start up sequence (boot strap / load)?
The
EXEclass's keyword argumentappend_pkg=Falsehints to me that the machinery might already be there.But I can't figure out how to hack a pointer from the bundled PKG file to point to another on-disk PKG file so it can be used during the boot. Or vice-versa, having the satellite PKG file point to the bundled PKG file for use.
With onedir mode, i can re-use the
_internalfolder contents and just send new exe files as an update. But the exe file is still >30 MB, too large for an email attachment.And looking at the
PYZ-00.tocfile, it seems a lot of the contents contributing to the bundled app (.exe) size are located inLib\site-packages, like numpy, pandas, scipy, matplotlib, etc...Can we put these into a separate PKG file for the exe? Or bundle these into exe but use a different pkg file for changing py files?
For people who don't use computers well (non-technical people), pyinstaller lets them run python code -- I think such a feature would be a great addition to the community.
P.S. To be clear, all large libraries (numpy, pandas, etc.) are required, so I'm not looking for general shrinking tips (like UPX or excludes). The goal is specifically to split these static libs into a separate file for tiny updates. The 20MB email limit is a hard constraint.
Details
Here is my attempt:
But i got this error:
Beta Was this translation helpful? Give feedback.
All reactions