Bug #10577
openrequirements.txt is missing attrdict3
0%
Description
I had to add attrdict3
to requirements.txt
to get WX to work. I'd submit a quick pull request on that, but I'm not sure if just adding that one line works for all dev environments, or if there is a better way -- e.g. freezing to a previous version of WX that properly lists attrdict3 as being a dependency.
Updated by Dan Smith over 1 year ago
Yeah, it doesn't work to pin that for everything, and the fact that it's installed on Linux but only needed on win32 is the actual bug. That's not something we control, and is still an outstanding issue with the packages that wx provides. The wx versions are pinned to what the build system is using for the bundled platforms, and the ranges for linux there are to support the distro versions that we know work.
You marked this as affecting windows, but the windows build that runs every does not need to specify attrdict3 or anything other than what is in requirements.txt. So if you've got a specific error, you might want to post it. That said, we really only care about installability from source for developer type use-cases.
Updated by Dan Smith 5 days ago
- Status changed from New to Blocked
- I read the instructions above set to Yes
Just to update this for future people finding it. There have already been two PRs to bump the version referencing this issue, so I'm commenting here to hopefully avoid people wasting time.
The tl;dr is there are multiple broken things upstream of us that complicate the choice of lifting the pins in the tree:
- On Windows, wxPython 4.2.0 has a broken requirement
- On macOS, wxPython 4.2.1 opens windows in the background
- On Linux, many recent LTS distros (debian, Ubuntu, Mint, etc) still deliver wxPython 4.0.x as the supported version
There are multiple other projects referenced there that have chosen the same path of pinning to 4.2.0 (and/or another version for other similar reasons).
I'm very keen on keeping the Python and wxPython versions in the binary builds for Windows and MacOS identical. We already have a lot of problems adding things that work in those builds (which are >95% of chirp users) but break on Linux because of the outdated wxPython version many people run it with. I really don't want to add a third thing I have to manually test (I'm already bad enough at testing UI changes on Windows before a build) and I want the in-tree requirements to reference what my official builds are running.