Installing psychopy using pip - what's the latest recommendation since the option on the docs fails on most systems

I appreciate there are other posts on installation problems, and I’ve looked through most of them—many are old and no longer relevant.

What is the current recommendation to install via pip? I had problems and I’ve been assisting a group who all tried to install it and most of them failed! It’s a selection of Macs (some M1, some old chips) and Windows. So this is not a problem specific to one OS configuration.

I’m reluctant to go for the pip install --no-dependencies options and then install everything manually, but is that the only way to go?

Any help appreciated…

If you start with Python 3.8 then pip install should work on both mac and windows. If that fails then I’d like to know on what so we can fix. On linux, even with py3.8 there are a few more hoops like installing wxpython and settings permissions (described in the docs).

Using other versions of Python (e.g. 3.10, which I’m going to bet is what’s happening) is a known problem because we use a number of other packages that don’t routinely build wheels for all versions and then need compiling. Sorry, that’s beyond our ability to control.

The debate has always been between the vocal minority that want the standard pip install to provide a minimal installation so it can be more portable across “pythons” versus the quieter majority that want pip install to give them everything they need for all experiments (high-precision timing, eyetracker support etc…). This summer we will certainly revisit the entire packaging question to see what we can do around providing minimal required packages for standard install and then provide warnings to people to add other packages as needed. ie. I’m thinking of bending a bit further towards the minimalists on the basis that give-me-everythings can use Standalone :wink:

1 Like

This was all 3.8’s. I had a selection of participants all on different OS’s and setups, but I asked all of them to downgrade to 3.8.

I don’t have everyone else’s failure points as this was all on Zoom and I couldn’t spend time on everyone—instead I got them to install with --no-dependcies and then install individual modules as needed — although even that is tricky as in some instances, such as yaml, the error says yaml not found by they need to install yamlpy

in my case (macOS 12.4 M1, Python 3.8.5) it failed on pocketsphinx I think

I’m only on the periphery of this as this is not my field and I was merely dipping into PsychoPy to help some clients — once we managed to install it, it was fun to use!— so I’m not in a position to have a view on minimalist vs full installation.

However, for those (like my clients) who are new to Python and are using PsychoPy as a way into programming, these sorts of issues are a turn off. They’re already having to learn a lot as they’re at a beginner or intermediate stage.

I would assume that many (perhaps most?) who use the package do not use all the additional hardware but run experiments using keyboard and normal monitor only as hardware. But I may be wrong!

Don’t get me wrong. I know it’s a turn-off when things don’t work. The problem is how to make everything “just work” for every user. It turns out that problem is harder than it looks.

But yes, I can see now that pocketsphinx hasn’t built any wheels for Python3.8 :sob:
I guess we’ll need to move that one to “suggests” rather then “depends” for now so that people that don’t have compilers set up won’t get stuck

As I say, we will be giving this a thorough overhaul but even after that it won’t be perfect because our users are so varied in what they want