Here are some pillars for making Python app distribution better for end users. I was not able to follow some of these pillars when I distributed Music Caster, so I wrote them down for other methods I’d try if I were to go about doing it again.
Python apps should be able to be installed without requiring administrative privileges.
- git + script
Distribute python code as opposed to compiled code
- obfuscate if you want to
- install dependencies on user side or bundle in zip file
- instruct user to install Python 3.X
- create virtualenv on setup
- TODO: look into pipenv
Create start menu shortcuts for platforms
- MacOSX: ???
Install to a common programs folder
Allow users to manually update by default and allow auto updating
When using a git based approach, git fetch to check for updates, and git reset to the latest v* tag when updating. Try not to update to latest commit since a commit does not imply code change or testing.
When using executables, use a server link or github API request combined with digital signed checksum (Tauri does this).