I'd like to learn more about how PyInstaller avoids rebuilding targets when they're newer than the sources. I have a specific and two more general questions. For context, I'm doing a onedir build with MERGE to create a group of related apps.

In exploring how the process works, I touched a .py file in one of the apps, and noticed that the output showed "building because x.py changed". I then ran it again, and it said "building because x.pyc changed". OK, so I ran it yet again, and it still said "building because x.pyc changed". What file(s) is PyInstaller checking the .pyc against?

That aside, it seems that the analysis phase is doing a lot of work, even when nothing has changed among the sources. I can imagine that it's checking all the dependency files as well, but still I wonder.

Finally, in the collection phase, PyInstaller insists that the target directory be empty (and will remove it if the -y option is set). I'd like the option to have it not replace files that are the same or newer than the files it wants to put there.

Something I've done in the past was, before starting Analysis, check all the source files against the targets, and just exit if there was no newer source. This isn't as thorough a check, since some of the dependency files might have changed as well.

I'm willing to dig into the PyInstaller code, and even submit a patch if I come up with something that might be generally useful. I'd like some guidance as to what the design is and where to look in the code.

Thanks,

--

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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/pyinstaller?hl=en.

Reply via email to