That’s progress! Installing the wheel worked fine and we can now load wx:
$ python3.8
Python 3.8.13 (default, Apr 19 2022, 02:32:06)
[GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import wx
>>> print(wx.version())
4.2.0 gtk3 (phoenix) wxWidgets 3.2.0
That’s progress!
Unfortunately, @Robin was right that there are still Glib version incompatibilities that might be showstoppers:
>>> app = wx.App()
(python3.8:4795): GLib-GIO-ERROR **: 10:19:48.441: Settings schema 'org.gnome.settings-daemon.plugins.xsettings' does not contain a key named 'antialiasing'
Trace/breakpoint trap (core dumped)
This is on an x64 VM running a clean, updated Ubuntu 22.04, and Python3.8 from sudo apt install
For what is worth, I was able to build a manylinux_2_31
wheel in ubuntu 20.04 and a manylinux_2_35
wheel in ubuntu 22.04 from the regular master branch simply running:
auditwheel repair --plat manylinux_2_35_x86_64 --only-plat -w dist dist/wxPython-*.whl
(replace with 2_31 on 20.04)
after building a platform specific wheel the usual way with python build.py bdist_wheel
But unfortonately neither of them --in particular the 2_35, which at the time of writing is the most new manylinux spec-- runs on a current debian stable (bookworm). These are the some of the critical errors I get on start up:
g_once_init_leave: assertion 'result != 0' failed
g_type_register_dynamic: assertion 'parent_type > 0' failed
g_type_interface_add_prerequisite: assertion 'G_TYPE_IS_INTERFACE (interface_type)' failed
You can download the wheel file with pip download --extra-index-url https://pkgs.dev.azure.com/jorgemoraleda/wxPythonMeticy/_packaging/release_artifacts/pypi/simple wxPythonMeticy
(For why it is called wxPythonMeticy and not wxPython see wxPythonMeticy: A release to PyPI of the latest master branch code