Installation

Download

For the easiest installation download and install the Standalone package for your system:

For the latest stable release (the version we recommend you install):

For previous recent versions see the PsychoPy releases on github

See below for options if you don’t want to use the Standalone releases:

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: https://www.nvidia.com/Download/index.aspx

Manual install

Now that most python libraries can be install using pip it’s relatively easy to manually install PsychoPy and all it’s dependencies to your own installation of Python. That isn’t the officially-supported method (because we can’t track which versions of packages you have) but for many people it’s the preferred option if they use Python for other things as well.

Dependencies

You need a copy of Python itself, and wxPython and probably pyo (or use an alternative audio library listed below). None of these support pip install yet so you need to download them:

Then, if you want everything available you could paste this in to your terminal/command line and go and get a coffee. This could take upwards of 20 minutes to download and install everything:

pip install numpy scipy matplotlib pandas pyopengl pyglet pillow moviepy lxml openpyxl xlrd configobj pyyaml gevent greenlet msgpack-python psutil tables requests[security] pyosf cffi pysoundcard pysoundfile seaborn psychopy_ext python-bidi psychopy
pip install pyserial pyparallel egi iolabs
pip install pytest coverage sphinx

Needed on Windows:

pip install pypiwin32

Needed on macOS:

pip install pyobjc-core pyobjc-framework-Quartz

OR you could just install the subsets of packages that you want:

# REQUIRED
pip install numpy scipy matplotlib pandas pyopengl pyglet pillow moviepy lxml openpyxl configobj psychopy

# to use iohub
# you need to install the hdf5 lib before installing tables (`brew install hdf5` on mac))
pip install pyyaml gevent greenlet msgpack-python psutil tables

# better excel file reading (than openpyxl)
pip install xlrd

# making online connections (e.g. OSF.io)
pip install requests[security] pyosf

# alternative audio (easier than pyo to install)
pip install cffi sounddevice pysoundfile

Handy extra options:

pip install seaborn  # nice graphing
pip install psychopy_ext  # common workflows made easy
pip install python-bidi  # for left-right language formatting

For hardware boxes:

pip install pyserial pyparallel
pip install egi  # for egi/pynetstation
pip install iolabs  # button box
pip install pyxid  # possible but the version on github has fewer bugs!
# labjack needs manual install: https://github.com/labjack/LabJackPython

For developers:

pip install pytest coverage sphinx
#this installs psychopy links rather than copying the package
pip install -e /YOUR/PsychoPy/Repository

Anaconda and Miniconda

The following should allow you to get PsychoPy working using Ana/MiniConda with Python 2.7:

conda create -n psypy python=2.7
conda activate psypy
conda install numpy scipy matplotlib pandas pyopengl pillow lxml openpyxl xlrd configobj pyyaml gevent greenlet msgpack-python psutil pytables requests[security] cffi seaborn wxpython cython future pyzmq pyserial
conda install -c conda-forge pyglet pysoundfile python-bidi moviepy pyosf
pip install zmq json-tricks pyparallel sounddevice pygame pysoundcard psychopy_ext psychopy

and with Python 3.5 (recommended):

conda create -n psypy3 python=3.5
conda activate psypy3
conda install numpy scipy matplotlib pandas pyopengl pillow lxml openpyxl xlrd configobj pyyaml gevent greenlet msgpack-python psutil pytables requests[security] cffi seaborn wxpython cython pyzmq pyserial
conda install -c conda-forge pyglet pysoundfile python-bidi moviepy pyosf
pip install zmq json-tricks pyparallel sounddevice pygame pysoundcard psychopy_ext psychopy

Macports

This may be/get out of date but users of macports should be able to install PsychoPy and all its dependencies simply with:

  sudo port install py25-psychopy

(Thanks to James Kyles.)

Neurodebian

Debian and Ubuntu systems:

PsychoPy is in the Debian packages index so you can simply do:

sudo apt-get install psychopy

To get the newer version you may need to add the NeuroDebian repository <http://neuro.debian.net/> (Thanks to Yaroslav Halchenko for packaging for Debian and NeuroDebian.)

Gentoo

PsychoPy is in the Gentoo Science Overlay (see sci-biology/psychopy for the ebuild files).

After you have enabled the overlay simply run:

emerge psychopy

Developers

Ensure you have Python 3.6 and the latest version of pip installed:

python --version
pip --version

Next, follow instructions here 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.6). 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:

"C:\PATH_TO_PYTHON3.6\python.exe C:\PATH_TO_CLONED_PSYCHOPY_REPO\psychopy\app\psychopyApp.py"

Alternatively, you can run the psychopyApp.py from the command line:

python C:\PATH_TO_CLONED_PSYCHOPY_REPO\psychopy\app\psychopyApp

Back to top