07th-mod / 07th-mod/python-patcher
Depreciating Python 2 / Use pyinstaller/py2app for MacOS builds
- Dominant language
- JavaScript
- Stars
- 214
- Forks
- 12
- PR merge metrics
- No merged PRs in 30d
Description
As you've probably noticed, the installer breaks fairly often due to making a change which works on Python 3, but which doesn't work on Python 2.
We've been supporting Python 2 for MacOS users, as Python 2 comes pre-installed for them, and we don't want to make them install Python 3 on their system (it would complicate the install process, and also may alter their system setup)
One way around this would be to use a tool like [pyinstaller](https://www.pyinstaller.org/) or [py2app](https://py2app.readthedocs.io/en/latest/) to generate a standalone installer/app which the user can just run. However doing so would probably require quite a bit of testing, as I suspect some things our installer currently does (like writing to a folder adjacent to the executable) will break in this configuration.
While developers on Windows/Linux can't do the builds on their own computers, Github Actions supports MacOS as an environment, so once it's setup properly it should be OK to maintain.
I'm mainly opening this issue in case any MacOS users/developers want to figure out some distribution method for the installer on MacOS. It probably won't happen any time soon, but I thought I should at least make an issue for it.
Contributor guide
No contributing guide indexed for this repository
Research direction
The issue is about creating a standalone macOS installer using pyinstaller or py2app to replace the current Python 2-dependent installer. Start by examining the existing installer code to understand its file writing and execution flow. Test building a simple standalone app with pyinstaller on a macOS environment, possibly using GitHub Actions. 'Done' means a working standalone installer that doesn't break existing functionality, requiring thorough testing of file operations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, macos, python
- Domain
- build-system, cli, release
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100