Psychopy quits on Linux with no console output

OS: Fedora 36 x64
PsychoPy version: PsychoPy3 2022.2.0 (wxPython 4.0.7)
**Standard Standalone?: y
What are you trying to achieve?: Start PsychoPy Builder/Coder

What did you try to make it work?: I’ve installed PsychoPy via pip under Python 3.10.5 along with wxPython 4.0.7.

What specifically went wrong when you tried that?:
When I start psychopy from the terminal, it quits without showing a GUI and without outputting anything to the console. (Are there any log files I could check in such a case?)

This is most likely an issue with Python 3.10. If that is the case, errors should be showing up in .psychopy3/last_app_load.log. A couple of people have been hammering away at this (Psychopy 2021.2.3-1 fails to start - #5 by daniel.e.shub) and can get PsychoPy running under 3.10, but there are no clean instructions yet. As I see it, there are three tricky issues associated with using Python 3.10.

First, macropy, which is required via javascripthon, is hopelessly bugged. Luckily, there is an unreleased version of javascripthon that no longer depends on macropy (metapensiero.pj/CHANGES.rst at 86ae37b6f23cce42509b6a2496a7504793472bdf · metapensiero/metapensiero.pj · GitHub) and installing the latest git version of the package resolves the issue.

Second, Python 3.10 has royally screwed up wxpython. Specifically, Python 3.10 no longer uses implicit conversion with loss from a float to an int (Issue 37999: No longer use implicit convertion to int with loss - Python tracker). When you get to this bug you should see something like

File “/usr/lib/python3.10/site-packages/wx/lib/agw/advancedsplash.py”, line 442, in SetTextFont
self._textfont.SetPointSize(self._textsize)
TypeError: Font.SetPointSize(): argument 1 has unexpected type ‘float’

You can install an unreleased version of wxpython (Fix a bunch of Python 3.10 issues with pure-Python classes and demos · wxWidgets/Phoenix@173d079 · GitHub) but this version only works with sip5 (I am on Arch and only have easy access to sip4 and sip6).

Third, PsychoPy is not really compatible with Python 3.10. You need to edit psychopy/app/builder/builder.py and psychopy/app/psychopyApp.py to get rid of hidden conversions from float to int. I do not think anyone has submitted a bug yet on github (or better generated a patch).

Hopefully at some point I will have a working package for Arch that people can use as template for other distros or to make a docker file.

Thanks, the problem was indeed Python 3.10. It starts flawlessly under Python 3.8.