For the easiest installation download and install the Standalone package.
For all versions see the PsychoPy releases on github
PsychoPy® is distributed under the GPL3 license
See below for options if you don’t want to use the Standalone releases:
Now that most python libraries can be installed using pip it’s relatively easy to manually install PsychoPy® and all it’s dependencies to your own installation of Python.
The steps are to fetch Python. This method should work on a range of versions of Python but we strongly recommend you use Python 3.8. Older Python versions are no longer being tested and may not work correctly. Newer Python versions may not have wheels for all the necessary depedencies even though we believe that PsychoPy’s code, itself, is compatible all the way up to Python 3.10.
You can install PsychoPy® and its dependencies (more than you’ll strictly need, depending on the features you use) by:
pip install psychopy
If you prefer not to install all the dependencies (e.g. because the platform or Python version you’re on doesn’t have that depedency easily available) then you could do:
pip install psychopy --no-deps
and then install them manually. On Windows, if you need a package that isn’t available on PyPI you may want to try the unofficial packages by Christoph Gohlke
On a MacOS machine, brew can be used to install PsychoPy®:
brew install --cask psychopy
There used to be neurodebian and Gentoo packages for PsychoPy® but these are both badly outdated. We’d recommend you do:
# with --no-deps flag if you want to install dependencies manually pip install psychopy
Then fetch a wxPython wheel for your platform from:
and having downloaded the right wheel you can then install it with something like:
pip install path/to/your/wxpython.whl
wxPython>4.0 and doesn’t have universal wheels yet which is why you have to find and install the correct wheel for your particular flavor of linux.
For some reasons wxPython (wx.html2) is using an older version of libwebkitgtk e.g. psychopy will not show up to fix this (of our own risk): sudo add-apt-repository ‘deb http://archive.ubuntu.com/ubuntu bionic main universe’ sudo apt install -t bionic libwebkitgtk-1.0-0
Building Python PsychToolbox bindings:
The PsychToolbox bindings for Python provide superior timing for sounds and keyboard responses. Unfortunately we haven’t been able to build universal wheels for these yet so you may have to build the pkg yourself. That should not be hard. You need the necessary dev libraries installed first:
sudo apt-get install libusb-1.0-0-dev portaudio19-dev libasound2-dev
and then you should be able to install using pip and it will build the extensions as needed:
pip install psychtoolbox
We provide an environment file that can be used to install PsychoPy® and its dependencies. Download the file, open your terminal, navigate to the directory you saved the file to, and run:
conda env create -n psychopy -f psychopy-env.yml
This will create an environment named
psychopy. On Linux, the
wxPython dependency of PsychoPy® is linked
webkitgtk, which needs to be installed manually, e.g. via
sudo apt install libwebkitgtk-1.0 on Debian-based
systems like Ubuntu.
To activate the newly-created environment and run PsychoPy®, execute:
conda activate psychopy psychopy
Ensure you have Python 3.8 and the latest version of pip installed:
python --version pip --version
Next, follow the instructions to fork and fetch the latest version of the PsychoPy® repository.
From the directory where you cloned the latest PsychoPy® repository (i.e., where setup.py resides), run:
pip install -e .
This will install all PsychoPy® dependencies to your default Python distribution (which should be Python 3.8). Next, you should create a new PsychoPy® shortcut linking your newly installed dependencies to your current version of PsychoPy® in the cloned repository. To do this, simply create a new .BAT file containing:
Alternatively, you can run the psychopyApp.py from the command line:
The minimum requirement for PsychoPy® is a computer with a graphics card that supports OpenGL. Many newer graphics cards will work well. Ideally the graphics card should support OpenGL version 2.0 or higher. Certain visual functions run much faster if OpenGL 2.0 is available, and some require it (e.g. ElementArrayStim).
If you already have a computer, you can install PsychoPy® and the Configuration Wizard will auto-detect the card and drivers, and provide more information. It is inexpensive to upgrade most desktop computers to an adequate graphics card. High-end graphics cards can be very expensive but are only needed for very intensive use.
Generally NVIDIA and ATI (AMD) graphics chips have higher performance than Intel graphics chips so try and get one of those instead.
On Windows, if you get an error saying “pyglet.gl.ContextException: Unable to share contexts” then the most likely cause is that you need OpenGL drivers and your built-in Windows only has limited support for OpenGL (or possibly you have an Intel graphics card that isn’t very good). Try installing new drivers for your graphics card from its manufacturer’s web page, not from Microsoft. For example, NVIDIA provides drivers for its cards here