Hacker News new | ask | show | jobs
by londt8 1834 days ago
I think its typical that only one python runtime is installed in the system. What is the use case for bundling the runtime with the app?
7 comments

I'm one of the rare idiots who wrote a consumer-faced python+Qt program. I need to ship the right dependencies along with the right version of python to my customers.

Using Pyinstaller it works out in the end, but after everything, it would have been better to use a language meant for user-facing applications.

I package Captain's Log [0] with PyInstaller.

I need to, because otherwise I wouldn't be able to package it for Windows users.

The app is also closed source.

I cannot easily package the application for Linux users, because of so many different flavours of Linux, so many different combinations of Python and Qt versions.

Which is why I've given up on a pure Linux version and I'm in the middle of adapting it to work under WINE alongside Elite: Dangerous also running under WINE, instead.

[0] https://captainslog.scarygliders.net/captains-log-2/

Many systems still have both Python 2 and Python 3 installed. Also, in the standard case, the version of Python is controlled by the user, not by your app. Bundling it with the app lets you make sure that it's running Python 3.8, for example, so that you can use Python 3.8 features without having to add a bunch of compatibility shims in case the user is running an older version.
Distribute my cli app + gooey as a stand-alone binary for windows users
Perhaps on a server, but on my workstation I probably have 6 or 7 pythons installed.

edit: including virtualenvs and conda environments have 41 python.exe files on my workstation right now.

No there’s often tons of them. I’ve personally seen hundreds.
Roughly 0% of Windows users have Python installed.