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:
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
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. Some graphics cards that are known to work with PsychoPy can be found here; that list is not exhaustive, many other cards will also work.
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.
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
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
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.)
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.)
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
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