This seems in a way like an extension of the MERGE idea. If you're going to be installing many PyI-built executables on a target machine, you'd rather not have to "pay double/triple/..." for all the supporting stuff. This isn't just an issue of size on the target machine -- it includes the cost of copying the install file (once per install), and the cost of deploying all the pieces in the two-step execution process (once per execution).

(Thinking out loud...) In a scenario like this, it might be worth defining a "target machine configuration" file that would be used both by the builder and bootloader. The former would omit the pieces that the file claims are on the target machine, and the bootloader would check that they're where the file specifies them to be.

Actually, this calls for another facility to be used on the target machine to validate the configuration -- this could be done by the bootloader, but really doesn't need to be done at each execution; presumably, the configuration won't change that often, so the bootload wouldn't need to spend the time checking it. It could even be extended to be a separate executable that contains the pieces, and ensures that they exist at the specified locations.

Again, this assumes installing on a target machine where you (actually, the installer that you built with NSIS or whatever) might have limited control -- enough to install your applications, but not necessarily enough to say "OK, let's just install Python x.y, wxPython z.w, etc".

For what it's worth.


On 4/24/12 3:21 AM, Hartmut Goebel wrote:
Am 23.04.2012 14:40, schrieb Matteo Baracani:
If somebody wants to comment on the above, I'll gladly take your
suggestions into account during development.
To be frank: I don't think this is a feature for PyInstaller.

1) PyInstaller is aiming to freeze *everything* required for executing
the program to make it self-contained and independent of any installed
Python version.

2) Only excluding the libpython does not make that much sense. One would
want to exclude all standard modules, too. This would really save space.

3) If you rely on an installed libpython, you can even rely on a
complete standard Python installation. So you not even need the
bootloader but just fire up the python executable.

You idea sound more like a solution to use `pip bundle`, virtualenv  and
some simple install script (which can be written in Python). Or like
buildout and other solutions in this area.

I suggest you to rethink your aims. Saving space on a somewhat current
hard-disk is not worth spending time. If you are going for a embedded
system, things are different. But in this case but you should know hat's
on the system and not need PyInstaller.


--

Don Dwiggins
Advanced Publishing Technology


--
You received this message because you are subscribed to the Google Groups 
"PyInstaller" group.
To post to this group, send email to pyinstaller@googlegroups.com.
To unsubscribe from this group, send email to 
pyinstaller+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/pyinstaller?hl=en.

Reply via email to