Skip to content

Instantly share code, notes, and snippets.

@ulf1
Last active September 12, 2023 07:16
Show Gist options
  • Save ulf1/122c3e45df2a8a17026c45cb5feb79a6 to your computer and use it in GitHub Desktop.
Save ulf1/122c3e45df2a8a17026c45cb5feb79a6 to your computer and use it in GitHub Desktop.
Install psychopy/wxpython on ubuntu

Install psychopy/wxPython with PyEnv on Ubuntu

(1) Install pyenv

sudo apt update

sudo apt install \
  build-essential libssl-dev zlib1g-dev \
  libbz2-dev libreadline-dev libsqlite3-dev curl \
  libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc

Install python3.8

pyenv update
pyenv install 3.8

Switch to python3.8

pyenv local 3.8 

Create a virtualenv and autostart in each Terminal

python3.8 -m venv .psychopy-venv
source .psychopy-venv/bin/activate

Open

nano ~/.bashrc

Add line

source $HOME/.psychopy-venv/bin/activate

Install wxPython==4.2.0

Install wxPython wheel from https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-22.04/

python -m pip install -U pip setuptools wheel

wget https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-22.04/wxPython-4.2.0-cp38-cp38-linux_x86_64.whl

pip install wxPython-4.2.0-cp38-cp38-linux_x86_64.whl

Install psychopy>=2023.2

sudo apt install ubuntu-restricted-extras 

sudo apt install \
  libusb-1.0-0-dev portaudio19-dev libasound2-dev \
  swig libpulse-dev

pip install "psychopy>=2023.2" psychtoolbox pygame pyo pyparallel websocket_client distro

Access rights

sudo groupadd --force psychopy
sudo usermod -a -G psychopy $USER

open

sudo nano /etc/security/limits.d/99-psychopylimits.conf

add the lines

@psychopy - nice -20
@psychopy - rtprio 50
@psychopy - memlock unlimited

allow writing on the parallel port for psychopy users

chown -R administrator:psychopy /dev/parport0
chmod 660 /dev/parport0

Create Desktop Launcher

nano ~/Desktop/psychopy.desktop

add

#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=source ~/.psychopy-venv/bin/activate; psychopy --builder
Name=PsychoPy
#Icon=icon path here

Other Desktop applications

Video players

sudo apt install vlc ffmpeg

Sources

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment