07th-mod / 07th-mod/python-patcher

Depreciating Python 2 / Use pyinstaller/py2app for MacOS builds

Open
#127 0 comments 0 reactions 0 assignees View on GitHub
enhancement help wanted
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.