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.
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
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.