Difference between revisions of "Psychopy"
Line 27: | Line 27: | ||
{{Infobox tsg | {{Infobox tsg | ||
| child = yes | | child = yes | ||
− | | downloads = | + | | downloads = |
− | * | + | * [https://gitlab.socsci.ru.nl/utilities/psychopytemplate Template / Working Example] |
− | * [https://gitlab.socsci.ru.nl/utilities/psychopytemplate/-/blob/main/runexperiment.py?ref_type=heads MainCode for Template / Working Example | + | * [https://gitlab.socsci.ru.nl/utilities/psychopytemplate/-/blob/main/runexperiment.py?ref_type=heads MainCode for Template / Working Example] |
− | + | ||
| manuals = {{bulleted list | | manuals = {{bulleted list | ||
| [https://www.socsci.ru.nl/wilberth/psychopy/index.html Course] | | [https://www.socsci.ru.nl/wilberth/psychopy/index.html Course] |
Revision as of 14:03, 20 August 2024
Development status | Active | ||||||||
---|---|---|---|---|---|---|---|---|---|
Written in | Python | ||||||||
|
PsychoPy is an alternative to Presentation, e-Prime and Inquisit. It is a Python library and application that allows presentation of stimuli and collection of data for a wide range of neuroscience, psychology and psychophysics experiments. When used on DCC computers PsychoPy is guaranteed to be millisecond accurate.
Installation
We recommend to use a modern 64-bit version of Python. In our labs, we currently have Python 3.8.10 64 bits installed. Psychopy recommends Python 3.8.10.
Check our gitlab server https://gitlab.socsci.ru.nl
For Pavlovia users
If you want to upload experiments to Pavlovia, you will need to install Git-2.17.1-64-bit.exe using these instructions: GitInstall.docx. Then, in System| Advanced system settings | Environment variables, add the folder where git-daemon.exe is, to the PATH variable. Usually, that folder is named: 'C:\Program Files\Git\mingw64\libexec\git-core'.
Lab computer versioning
A default version of Psychopy has been installed in the root of the Python3.8.10 64-bit version. This is also the default version when 'psychopy' is typed from the command prompt. It is also the default that opens when a .py file is double-clicked. It also can be started by clicking the appropriate icon on the desktop. One in a while, the default version is upgraded to a newer version. The older version is then still available in a virtualenv.
When your script fails to load in Psychopy, because you need packages that are not installed on our labcomputers, please contact TSG.
On the labcomputer, there is support for Spyder, PyCharm and Psychopy.
For SR-Research Eyelink users
Eyelink users should follow the regular instructions above. Additionally, in the installer folder from our Gitlab, find the pylink version you need, rename it to pylink and copy it to your Pythons lib/site-packages folder.
For SMI RED 500 and SMI HiSpeed Tower users
Include this file into your project: iViewXudp. This should work on both 64-bit and 32-bit Python 3 versions.
Usage
VirtualEnv
Some of the packages that are installed in the steps above, make it possible to make use of VirtualEnvs. A virtual environment is a Python environment such that the Python interpreter, libraries and scripts installed into it are isolated from those installed in other virtual environments, and (by default) any libraries installed in a “system” Python, i.e., one which is installed as part of your operating system.
If you want to use virtualenvs on your on computer, In System| Advanced system settings | Environment variables, make a new system variable with name WORKON_HOME and value C:\Users\Public\Envs\. And make a new system variable with name: PROJECT_HOME and value C:\Users\Public\Projects. Your virtualenvs will now be stored in C:\Users\Public\Projects and projects in C:\Users\Public\Projects. These are also the places where virtualenvs and projects are stored on the labcomputer.
Open a command window with administrator rights and type:
workon to see a list of existing virtualenvs.
workon <virtualenvname>, where <virtualenvname> is the name of the virtualenv you want to use.
mkvirtualenv <virtualenvname> to create a new and empty virtualenv.
mkvirtualenv -p=37 <virtualenvname> to create a new and empty virtualenv that uses the installed Python3.7.6.
mkvirtualenv -p=36 <virtualenvname> to create a new and empty virtualenv that uses the installed Python3.6.8.
mkvirtualenv -p=37 --system-site-packages <virtualenvname> to create a new virtualenv that uses the installed Python3.7 and its site-packages.
rmvirtualenv <virtualenvname> to remove the virtualenv with name <virtualenvname>.
deactivate to return to the defaults.
If you need a package that is not installed on our labcomputer, contact TSG, so that we can decide to add it to our standard installation, or to install it in a separate virtualenv. Do not use pip install and install anything in an existing virtualenv. Unless it is your own virtualenv. This might interfere with existing packages and might mess up other peoples projects. Instead, make your own virtualenv and install it there (use mkvirtualenv to create it, use workon to activate it, then use pip to install packages into your own virtualenv). Also, make a backup of your virtualenv, since when the labimage is updated, the newly created virtualenvs will be gone.
Spyder
Spyder (Scientific Python Development Environment) is an IDE for Python. It can be run from a command prompt. If you want to use Spyder in the default Python environment, you can just type Spyder from the command prompt. If you want to use Spyder from a virtualenv, type workon <name of the virtualenv> and then type Spyder3. If you have created your own virtualenv, make sure that Spyder is installed.
PyCharm
PyCharm is installed on our labcomputers. It is a Python IDE. In the lowerright corner, it will display its current Python environment. By clicking on that name, you can change the interpreter and choose from the existing virtualenvs that PyCharm knows. Or you can add your own virtualenv.
Batch files
If you are working from a virtualenv, other than the default, and you don't want to open a command window, type workon <virtualenv> and type python <myscript.py> every time, you might want to make a batch file. Create a text file, type:
call workon <virtualenv>
python <myscript.py>
Save the file into the folder where your script is, but change the extension from .txt to .bat, for example, save the file as startmyscript.bat.