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

Drop wxPython support in etstool.py #525

Closed
mdickinson opened this issue Mar 13, 2023 · 0 comments · Fixed by #526 or #513
Closed

Drop wxPython support in etstool.py #525

mdickinson opened this issue Mar 13, 2023 · 0 comments · Fixed by #526 or #513
Milestone

Comments

@mdickinson
Copy link
Member

The wxPython support in etstool.py involves installing wxPython from external sources, and as such is rather fragile. For example:

  • on macOS, a pip install wxPython fails because it tries to build wxPython from source, and that requires attrdict3 (see attrdict a requirement for pip install fails otherwise. wxWidgets/Phoenix#2225)
  • after installing attrdict3, the wxPython installation from source takes a very long time; I gave up after approximately 40 minutes
  • wxPython does have wheels, but on macOS those are incompatible with EDM's Python (I think because the wheels don't support versions of macOS older than 11.0)
  • on Linux, we're forced to install from extras.wxPython.org

Envisage doesn't contain much toolkit-specific code, and we can test with wxPython on non-EDM installs, so there seems little value keeping the wxPython support in etstool.py. Let's keep etstool.py for testing with the toolkits that are available in EDM (currently PySide6 and PyQt6).

@mdickinson mdickinson added this to the Release 7.0 milestone Mar 13, 2023
mdickinson added a commit that referenced this issue Mar 13, 2023
[PR includes commits from, and extends, #513]

This PR updates our testing machinery in two ways:

- We no longer rely on `ETS_TOOLKIT` (or `QT_API`) being set in order to
run tests that require a GUI; we just rely on Pyface's default
mechanisms for toolkit detection. (As a consequence, we retain the
option to _use_ `ETS_TOOLKIT` if it's helpful.)
- `etstool.py` support for backends other than those available through
EDM has been removed. Meanwhile, support for `pyqt6` has been added.
(Tests currently fail with PyQt6, due to a known issue in TraitsUI:
enthought/traitsui#1926)

Closes #525
Closes #370
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant