What is the recommended Platform for PsychoPy

What Operating System does the PsychoPy development team use?

I’ve been trying for weeks to get PsychoPy working on Ubuntu 22.04.1LTS. I’ve followed the various guides, tried a clean install and chased down several problems. It sort of works, but is unstable, hangs and does not run experiments that work on Ubuntu 18.04.

18.04 is near end of life. We need to move our stimulus computers to an OS that is active support.

1 Like

I’ve had a similar experience with 22.04. I’ve also noticed that contrary to my expectations, Psychopy seems to have better timing performance on Windows 10 than on Linux. I’m thinking its probably best to switch away from Linux for Psychopy (but maybe keep dual boot for when we need Psychtoolbox) as soon as the opportunity arises.

We do most of our dev on Windows. In my experience you can get decent timing (but always check your own timing) and it’s just easier. While Mario has a point that there is an advantage in principle to using linux, because the people are in control and we can see/change things we don’t like, in my experience Windows is currently fine. That said, we certainly are keen to improve the situation for installing on Linux, and if the situation on Windows ever gets worse (e.g. like on MacOS where there’s a mandatory 1-frame delay that can’t be turned off) then we’ll make improving Linux our absolute #1 priority

Regarding your actual issue, I don’t think the version of Ubuntu is a particularly big deal. But the version of Python certainly is - you really need Python 3.8 or 3.9. Python 3.10 on Linux has some issues with wxPython which is needed for the app to run. Now, the issue with more recent Ubuntu distributions is that they provide/expect Py3.10 and getting Python 3.8/3.9 installed has a couple of steps.

See this thread for a discussion of the install process on Ubuntu 22.14 and 22.04:

1 Like

I had managed to install Psychopy 2021.x version on my Linux Mint machine by reading the various guides in this forum. It was working ok but certainly far from being ideal.

But when I tried to update it to the newest version a couple of days ago things went downhill and while playing with ALTERNATIVES and removing “obsolete” python versions I bricked my machine. I guess we have all been there :smiley:

Having said that it would be great if the dev team could consider providing a bit more support for Linux - the are certainly many topics on this matter as of recently. But I fully understand there are very limited resources and other things must take priority. I wish my skills/knowledge were such so I can contribute but I am afraid I will again… brick things.

Best wishes
Yiannis

Hi @Yiannis

I’ve recently updated this tutorial.

I hope it helps :slight_smile:

1 Like

This is really helpful information to have, thank you!

Unfortunately, I’m only coming across this recommendation well after spending a great deal of my group’s precious development time troubleshooting installation and runtime issues for our PsychoPy application using versions of Python that, I’m now learning, are in effect not supported.

I would strongly encourage the PsychoPy team to update the official Psychopy Install page with the information about the (effectively required) Python version, including recommendations on how to install this. (Is pyenv supported/encouraged/discouraged? What is the recommended way to install an older supported version of Python3?) It would also have been a life-saver if the bit about installing wxPython wheels would have mentioned that the wheel filename contains a substring like cp39, for cPython 3.9, and that your Python needs to correspond with the wheel, or vice-versa.

Lastly, I would also encourage you to also consider indicating, on the same page, that Windows is de-facto the favored platform. Of course many groups don’t have a choice about which platform to run from, but many do–knowing this information is, in practice, going to impact the amount of troubleshooting required and the degree of support and depth of experience by the official dev team with any given issue or bug that may arise.

Totally understand how these things are not formal choices on the part of the PsychoPy team, but since they do have a big practical impact, putting this info front and center is going to be really helpful to groups who are getting started building custom applications with PsychoPy, or in our case, scaling up our existing applications and in a position to be making platform decisions.

1 Like