pyinstailor is a tailor to replace files directly in the executable file generated by PyInstaller. Sometimes the script is changed a little, for example, only refine log messages, no dependency changed, no analysis is required. In this case, pyinstailor could extract the executable, replace the old script with new one, then repack it.
Usage
pyinstailor.py [-h] [-d] [-s N] executable [files]
Examples
-
List all the available items in the archive
pyinstailor dist/foo.exe
-
Replace entry script "foo.py" in the bundle "foo.exe"
pyinstailor dist/foo.exe foo.py
-
If entry scrip is in other path, strip the first N path
pyinstailor -s 1 dist/foo.exe src/foo.py
-
Replace package file
reader/__init__.py
in the bundle "foo.exe"pyinstailor dist/foo.exe reader/__init__.py
-
Strip the first path in the file path
pyinstailor -s 2 dist/foo.exe ../../reader/__init__.py
This tool doesn't support PyInstaller 2.0, and it's not full test.
- Fix bug: it fails when printing toc where the embedded PYZ archive contains subdirectories
- Fix python2.7 bug: it raises exception
TypeError: makedirs() got an unexpected keyword argument 'exist_ok'
- Fix bug: when repacking an executable where the embedded PKG archive contains subdirectories, the repack script fails
- Fix bug: the final bundle isn't patched in some platforms