Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add tar binary packaging #61

Open
iliapolo opened this issue Aug 3, 2019 · 0 comments
Open

Add tar binary packaging #61

iliapolo opened this issue Aug 3, 2019 · 0 comments
Assignees
Labels
feature This issue introduces a new feature minor Implies this code change should bump the minor version of the project

Comments

@iliapolo
Copy link
Owner

iliapolo commented Aug 3, 2019

When it comes to binary packaging, we currently only support create a single, self-contained file.

While this is extremely convenient, it bares a performance penalty. PyInstaller bootloader needs to extract and copy all runtime dependencies every time the program launches. The directory it creates is deleted when the execution ends, expect for when the program crashes (killed). This also means that it might cause disk space problems.

To solve this problem, we can create a one-folder package, where the application code and the runtime dependencies are separated and packed into an archive.

This way, the executable itself is linked to a fixed dependencies directory, and the entire extract-and-copy process is not needed.

This does however means that users will have to unarchive the package, and run the executable from a fixed directory.

For this reason, we should maybe consider automatically providing an installation script that does the necessary unpacking and aliasing.

@iliapolo iliapolo added feature This issue introduces a new feature minor Implies this code change should bump the minor version of the project labels Aug 3, 2019
@iliapolo iliapolo self-assigned this Aug 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature This issue introduces a new feature minor Implies this code change should bump the minor version of the project
Projects
None yet
Development

No branches or pull requests

1 participant