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

Bump wxPython version to support newer python versions #1085

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

lekv
Copy link
Contributor

@lekv lekv commented Aug 11, 2024

I noticed that wxPython couldn't be installed as a dependency with Python 3.12 on MacOS. It failed with the following error message:

ModuleNotFoundError: No module named 'attrdict'

After consulting wxWidgets/Phoenix#2296, I found out that this was an issue with wxPython and confirmed that 4.2.1 works. I tested this locally.

Fixes #10577

This also fixes #10577, presumably because wxPython now correctly requires attrdict3. I confirmed that the following steps now work:

$ rm -rf venv
$ python3.12 -mvenv venv
$ source venv/bin/activate
$ pip install -r requirements.txt

CHIRP PR Guidelines

The following must be true before PRs can be merged:

  1. All tests must be passing. The "PR Checks" job is speculative and failure doesn't always indicate a critial problem, but generally it needs to pass as well.
  2. Commits should be rebased (or simply rebase-able in the web UI) on current master. Do not put merge commits in a PR.
  3. Commits in a single PR should be related. Squash intermediate commits into logical units (i.e. "fix tests" commits need not survive on their own). Keep cleanup commits separate from functional changes.
  4. Major new features or bug fixes should reference a CHIRP issue in the commit message. Do this with the pattern Fixes #1234 or Related to #1234 so that the ticket system links the commit to the issue.
  5. Please write a reasonable commit message, especially if making some change that isn't totally obvious (such as adding a new model, adding a feature, etc). The first line of every commit is emailed to the users' list after each build. It should be short, but meaningful for regular users (examples: "thd74: Fixed tone decoding" or "uv5r: Added settings support").
  6. New drivers should be accompanied by a test image in tests/images (except for thin aliases where the driver is sufficiently tested already). All new drivers must use MemoryMapBytes. New drivers and radio models will affect the Python3 test matrix. You should regenerate this file with tox -emakesupported and include it in your commit.
  7. All files must be GPLv3 licensed or contain no license verbiage. No additional restrictions can be placed on the usage (i.e. such as noncommercial).
  8. Do not add new py2-compatibility code (No new uses of six, future, etc).

I noticed that wxPython couldn't be installed as a dependency with
Python 3.12 on MacOS. It failed with the following error message:

ModuleNotFoundError: No module named 'attrdict'

After consulting wxWidgets/Phoenix#2296, I
found out that this was an issue with wxPython and confirmed that 4.2.1
works. I tested this locally.
@lekv
Copy link
Contributor Author

lekv commented Aug 11, 2024

@kk7ds — please let me know if you'd prefer I open a new bug. The issue and fix are related to https://chirpmyradio.com/issues/10577 but one could argue the are different things.

@kk7ds
Copy link
Owner

kk7ds commented Aug 11, 2024

I'm haven't bumped yet because of this: wxWidgets/Phoenix#2499 .. Hoping for a newer release with a fix at some point. However, right now the macOS builds are done with 3.10 and 4.2.0 and I want to keep these requirements in sync. The window-opens-behind bug is incredibly annoying.

But yeah, if you prefer you can just manually install 4.2.1 locally, obviously, if the python version is more important to you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants