Installation¶
Download¶
Tried and tested, PsychoPy Standalone is the best option for an install that “just works”.
We will continue to release new versions until PsychoPy Studio is stable enough to replace it.
PsychoPy Studio is a full rebuild of the PsychoPy desktop app using web-based libraries (Svelte and Electron).
The underlying experiment engine is still Python, but Studio provides a smoother, more user-friendly interface and better version independence with useVersion.
Tried and tested, PsychoPy Standalone is the best option for an install that “just works”.
We will continue to release new versions until PsychoPy Studio is stable enough to replace it.
PsychoPy Studio is a full rebuild of the PsychoPy desktop app using web-based libraries (Svelte and Electron).
The underlying experiment engine is still Python, but Studio provides a smoother, more user-friendly interface and better version independence with useVersion.
Make sure curl is installed (most distros include it by default).
Show installer options:
bash <(curl -LsSf https://github.com/wieluk/psychopy_linux_installer/releases/latest/download/psychopy_linux_installer) --help
Start installer with GUI:
bash <(curl -LsSf https://github.com/wieluk/psychopy_linux_installer/releases/latest/download/psychopy_linux_installer) --guiNote: zenity must be installed for GUI mode.
Start installer without GUI:
bash <(curl -LsSf https://github.com/wieluk/psychopy_linux_installer/releases/latest/download/psychopy_linux_installer)
For help, troubleshooting, or to report issues, visit the psychopy_linux_installer GitHub page.
For uninstall instructions, see the Uninstall section of the README.
PsychoPy Studio is a full rebuild of the PsychoPy desktop app using web-based libraries (Svelte and Electron).
The underlying experiment engine is still Python, but Studio provides a smoother, more user-friendly interface and better version independence with useVersion.
Plus, it’s much easier to install on Linux!
For all versions see the PsychoPy releases on github
PsychoPy® is distributed under the GPL3 license
Manual installations¶
See below for options if you want to run the Python app but don’t want to use the Standalone releases. Before any of these options, you should setup a Python environment of the correct version for the version of PsychoPy you want to install.
Setup Python
The version of Python on which PsychoPy runs best has increased with successive versions, so before installing PsychoPy you should check that you have the correct version of Python installed. Below are the versions at which PsychoPy updated to support different Python versions:
2022.1.0: 3.8
2024.2.0: 3.10
2026.2.0: 3.11
Once you know what version you want, you can install Python by whatever method you prefer. Installers are provided on the Python website, or you can use a package manager like UV to install Python along with the packages.
uv/pip install
pip is the package manager recommended by Python, you can read more about it here. UV is a newer tool which handles packages and Python environments in one interface, you can read more about it here. When you first open PsychoPy Studio and it sets up a Python environment for you, UV is what it uses, so we take great care to make sure UV installs specifically work smoothly! We include these together as UV is intentionally similar to pip, so the process of installing via either manager is extremely similar.
Installing in either UV or pip can be done with a single command in the terminal:
# for pip
python -m pip install psychopy psychopy-app
# for uv
uv pip install psychopy psychopy-app
This will install both the PsychoPy library (psychopy) and the Python app (psychopy-app), and all their dependencies. To install just the library (for running experiments as scripts), just remove psychopy-app from the command. To install without any dependencies (if you prefer to set them up yourself), just add --no-deps to the end of the command.
brew install
This is a user-contributed option and may or may not work.
On a MacOS machine, brew can be used to install PsychoPy®:
brew install --cask psychopy
Anaconda and Miniconda
Support for conda was contributed and is badly outdated but you may be able to get it working using pip install within your conda environment.
Generally we recommend you use StandalonePsychoPy instead, for experiment creation, as an entirely separate app, and use your conda installation for other (e.g. analysis) scripts.
Alternatively if someone wants to jump in and get things working here again that would be appreciated by other users I’m sure.
Linux
Installing just the PsychoPy library on Linux is the same as installing on Windows or Mac, see instructions for uv/pip above. However, the PsychoPy Python app uses wxPython, which is notorious for poor Linux support, so installing that on Linux is often rather painful. For this reason, we strongly recommend using PsychoPy Studio if you’re on Linux.
If you do need the Python app, here are the legacy instructions for installing it on Linux:
Legacy installWe are aware that the procedure for installing on Linux is often rather painful. This is not the platform that the core PsychoPy developers currently use so support is less good than on some platforms. Feel free to jump in and help improve it as a contributor! :-)
There used to be neurodebian and Gentoo packages for PsychoPy® but these are both badly outdated. We’d recommend you first make sure you have a compatible Python version installed (currently
>=3.8, <3.11). If you need an older version, you can on Ubuntu for example do:sudo add-apt-repository ppa:deadsnakes/ppa sudo apt update sudo apt install python3.10-venv python3.10-dev python3.10 -m venv path/to/new/psychopyenv # choose a path of interest! source path/to/new/psychopyenv/bin/activateOnce you have a compatible Python activated, copy the link to a wxPython wheel for your platform from:
https://extras.wxpython.org/wxPython4/extras/linux/gtk3/
and having downloaded the right wheel you can then install it with something like:
pip install https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-22.04/wxPython-4.2.1-cp310-cp310-linux_x86_64.whl
wxPython>=4.0doesn’t have universal wheels yet which is why you have to find and install the correct wheel for your particular flavor of linux. If a wheel is not yet available for your platform (e.g., a new version of Linux), you will have to build it manually. For example, you can usepip download wxPython, extract the archive, enter the directory, and trypython setup.py bdist_wheelto build a wheel yourself. You will likely need to install some system build dependencies. Once it builds, you can install for example withpip install dist/wxPython*.whl.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
Finally, you can do:
# with --no-deps flag if you want to install dependencies manually pip install psychopyBuilding 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-devand then you should be able to install using pip and it will build the extensions as needed:
pip install psychtoolbox
Developers install
First, follow the instructions to fork and fetch to fetch the latest versions of the psychopy and psychopy-app repositories.
From each directory where you cloned these two projects to, run:
# for pip
python -m pip install -e .
# for uv
uv pip install -e .
This will install PsychoPy® (from the psychopy directory) and the PsychoPy Python app (from the psychopy-app directory) in such a way that when you change the code, you won’t have to reinstall to see your code changes in effect.
To run the app, you can now call in terminal (or by your preferred means, e.g. a shortcut file or VS Code launch config):
python -m psychopy_app
Recommended hardware¶
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.
Notes on OpenGL drivers¶
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