When installing Psychopy2026.2.0 in a virtualenv using pip and a requirements.txt file, Psychopy does not start: it is missing the psychopy_app module. Requirements.txt file has these contents: aiodns==4.0.4
aiohappyeyeballs==2.7.1
aiohttp==3.14.1
aiosignal==1.4.0
alabaster==1.0.0
annotated-types==0.7.0
appdirs==1.4.4
arabic-reshaper==3.0.1
arrow==1.4.0
astroid==4.0.4
asttokens==3.0.2
astunparse==1.6.3
async-timeout==5.0.1
asyncssh==2.24.0
attrs==26.1.0
autopep8==2.3.2
autoreject==0.4.4
av==17.1.0
babel==2.18.0
backports.tarfile==1.2.0
backports.zstd==1.6.0
bcrypt==5.0.0
beaupy==3.12.0
beautifulsoup4==4.15.0
binaryornot==0.6.0
black==26.5.1
bleach==6.4.0
blosc2==4.3.3
brotli==1.2.0
cachetools==7.1.4
cattrs==26.1.0
certifi==2026.6.17
cffi==2.1.0
chardet==7.4.3
charset-normalizer==3.4.9
click==8.4.2
cloudpickle==3.1.2
colorama==0.4.6
comm==0.2.3
contourpy==1.3.2
cookiecutter==2.7.1
cryptography==49.0.0
cycler==0.12.1
darkdetect==0.8.0
debugpy==1.8.21
decorator==5.3.1
defusedxml==0.7.1
Deprecated==1.3.1
deprecation==2.1.0
diff-match-patch==20241021
dill==0.4.1
distlib==0.4.3
docstring-to-markdown==0.17
docutils==0.21.2
dpkt==1.9.8
dvst-detox==0.2.1
edfio==0.4.13
elementpath==5.1.3
emoji==2.15.0
esprima==4.0.1
et_xmlfile==2.0.0
exceptiongroup==1.3.1
executing==2.2.1
fastjsonschema==2.21.2
ffpyplayer==4.5.3
filelock==3.29.7
flake8==7.3.0
fonttools==4.63.0
freetype-py==2.5.1
frozenlist==1.8.0
fsspec==2026.6.0
future==1.0.0
gevent==25.5.1
gitdb==4.0.12
GitPython==3.1.51
glfw==2.10.0
greenlet==3.5.3
h5io==0.2.5
h5py==3.16.0
hexbytes==1.3.1
hidapi==0.15.0
hightime==1.0.0
i18next==0.0.3
idna==3.18
ifaddr==0.2.0
ImageIO==2.37.3
imageio-ffmpeg==0.6.0
imagesize==2.0.0
importlib_metadata==9.0.0
inflection==0.5.1
intervaltree==3.2.1
ipykernel==6.31.0
ipython==8.39.0
ipython_pygments_lexers==1.1.1
isort==8.0.1
jaraco.classes==3.4.0
jaraco.context==6.1.2
jaraco.functools==4.5.0
jedi==0.19.2
jellyfish==1.2.1
Jinja2==3.1.6
joblib==1.5.3
joycon-python==0.2.4
json-tricks==3.17.3
jsonschema==4.26.0
jsonschema-specifications==2025.9.1
jupyter_client==8.9.1
jupyter_core==5.9.1
jupyterlab_pygments==0.3.0
keyring==25.7.0
kiwisolver==1.5.0
lazy-loader==0.5
lsprotocol==2025.0.0
markdown-it-py==4.2.0
MarkupSafe==3.0.3
matplotlib==3.10.9
matplotlib-inline==0.2.2
mccabe==0.7.0
mdurl==0.1.2
meshpy==2026.1
mistune==3.3.3
ml_dtypes==0.5.4
mne==1.12.1
mne-qt-browser==0.7.5
mnelab==1.4.0
more-itertools==11.1.0
moviepy==2.2.1
msgpack==1.2.1
msgpack-numpy==0.4.8
multidict==6.7.1
mypy_extensions==1.1.0
nbclient==0.11.0
nbconvert==7.17.1
nbformat==5.10.4
ndindex==1.10.1
nest-asyncio==1.6.0
nidaqmx==1.5.0
nitypes==1.1.0
numexpr==2.14.1
numpy==2.2.6
numpydoc==1.10.0
onnx==1.22.0
opencv-contrib-python==5.0.0.93
opencv-python==5.0.0.93
openpyxl==3.1.5
orjson==3.11.9
packaging==26.2
pandas==2.3.3
pandocfilters==1.5.1
parso==0.8.7
pathlib_abc==0.5.2
pathspec==1.1.1
patsy==1.0.2
pexpect==4.9.0
pickleshare==0.7.5
pillow==11.3.0
platformdirs==4.10.0
pluggy==1.6.0
pooch==1.9.0
proglog==0.1.12
prompt_toolkit==3.0.52
propcache==0.5.2
proto-plus==1.28.1
protobuf==7.35.1
psutil==7.2.2
psychopy==2026.2.0
psychopy-emotiv==0.1.2
psychopy-eyetracker-pupil-labs==0.3.0
psychopy-eyetracker-sr-research==0.0.6
psychopy-eyetracker-tobii==0.0.5
psychopy-legacy==1.2.1
psychopy-sounddevice==0.0.1
psychtoolbox==3.0.22.2
ptyprocess==0.7.0
pupil_apriltags==1.0.4.post11
pupil-labs-neon-recording==2.1.5
pupil-labs-realtime-api==1.8.0
pupil-labs-video==1.0.13
pure_eval==0.2.3
py-cpuinfo==9.0.0
pyarrow==25.0.0
pyasn1==0.6.4
pyasn1_modules==0.4.2
PyAudio==0.2.14
pybv==0.8.1
pybvrf==0.1.3
pycares==5.0.1
pycodestyle==2.14.0
pycparser==3.0
pydantic==2.13.4
pydantic_core==2.46.4
PyDAQmx==1.4.7
pydocstyle==6.3.0
pyEDFlib==0.1.42
pyflakes==3.4.0
pygame==2.6.1
PyGithub==2.9.1
pyglet==1.4.11
pyglm==2.8.3
Pygments==2.20.0
PyJWT==2.13.0
pylint==4.0.6
pylint-venv==3.0.4
pyls-spyder==0.4.0
pylsl==1.18.2
pymatreader==1.2.3
PyNaCl==1.6.2
pyparallel==0.2.2
pyparsing==3.3.2
pypiwin32==223
pyqmix==2021.1.2
PyQt5==5.15.11
PyQt5-Qt5==5.15.2
PyQt5_sip==12.18.0
PyQt6==6.11.0
PyQt6-Qt6==6.11.1
PyQt6_sip==13.11.1
pyqtgraph==0.14.0
PyQtWebEngine==5.15.7
PyQtWebEngine-Qt5==5.15.2
pyscab==1.0.1
pyserial==3.5
PySide6==6.11.1
PySide6_Addons==6.11.1
PySide6_Essentials==6.11.1
python-bidi==0.6.11
python-dateutil==2.9.0.post0
python-decouple==3.8
python-discovery==1.4.4
python-dotenv==1.2.2
python-gitlab==8.4.0
python-lsp-black==2.0.0
python-lsp-jsonrpc==1.1.2
python-lsp-ruff==2.3.1
python-lsp-server==1.14.0
python-picard==0.8.2
python-slugify==8.0.4
python-vlc==3.0.11115
python-yakh==0.4.1
pytokens==0.4.1
pytoolconfig==1.3.1
pytz==2026.2
pyuca==1.2
pywin32==312
pywin32-ctypes==0.2.3
pyWinhook==1.6.2
pyxdf==1.17.5
PyYAML==6.0.3
pyzmq==27.1.0
QDarkStyle==3.2.3
qstylizer==0.2.4
QtAwesome==1.4.2
qtconsole==5.7.2
qtm==2.1.2
qtm-rt==3.1.0
QtPy==2.4.3
questo==0.4.2
questplus==2023.1
real_time_screen_gaze==1.1.2
referencing==0.37.0
requests==2.34.2
requests-toolbelt==1.0.0
rich==15.0.0
rope==1.14.0
rpds-py==0.30.0
rsa==4.9.1
rtree==1.4.1
ruamel.yaml==0.16.3
ruff==0.15.21
RuSocSci==0.9.2
scikit-learn==1.7.2
scipy==1.15.3
scooby==0.11.2
seaborn==0.13.2
setuptools==82.0.1
shiboken6==6.11.1
six==1.17.0
smmap==5.0.3
snowballstemmer==3.1.1
sortedcontainers==2.4.0
sounddevice==0.5.5
soundfile==0.14.0
soupsieve==2.8.4
SpeechRecognition==3.17.0
Sphinx==8.1.3
sphinxcontrib-applehelp==2.0.0
sphinxcontrib-devhelp==2.0.0
sphinxcontrib-htmlhelp==2.1.0
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==2.0.0
sphinxcontrib-serializinghtml==2.0.0
spyder==2.3.9
spyder-kernels==3.1.5
sr-research-pylink==2.1.762.0
stack-data==0.6.3
statsmodels==0.14.6
superqt==0.8.2
surface-tracker==0.0.1
tables==3.10.1
text-unidecode==1.3
textdistance==4.6.3
threadpoolctl==3.6.0
three-merge==0.1.1
tinycss2==1.5.1
titta==2.2.2
TittaPy==2.0.0
tobii-research==2.1.0
tomli==2.4.1
tomlkit==0.15.0
tornado==6.5.7
tqdm==4.68.4
traitlets==5.15.1
typing_extensions==4.16.0
typing-inspection==0.4.2
tzdata==2026.3
tzlocal==5.4.4
ujson==5.13.0
universal_pathlib==0.3.10
urllib3==2.7.0
virtualenv==21.6.1
virtualenvwrapper-win==1.2.7
watchdog==6.0.0
wcwidth==0.8.2
webencodings==0.5.1
websocket-client==1.9.0
websockets==16.1
whatthepatch==1.0.7
wheel==0.47.0
WMI==1.5.1
wrapt==2.2.2
wxPython==4.2.5
xarray==2025.6.1
xmlschema==4.3.2
xmltodict==1.0.4
yapf==0.43.0
yarl==1.24.2
zeroconf==0.150.0
zipp==4.1.0
zope.event==5.0
zope.interface==7.2
Pip install now just installs the libraries and not the app. To install just the PsychoPy app, try pip install psychopy-app. I’m sorry that the installation instructions haven’t yet been updated to make this clear.
I installed using:
pip install -r requirements.txt
The contents of ‘requirements.txt’ was in my first post.
pip install psychopy_app gives this result:
pip install psychopy_app
ERROR: Could not find a version that satisfies the requirement psychopy_app (from versions: none)
ERROR: No matching distribution found for psychopy_app
I’ve just edited my post – I was in a meeting and asking about it. Does pip install psychopy-app give the same error?
I used several variations.. all with the same error:
(Psychopy2026.2.0) D:\Psychopy2026.2.0_install>pip install psychopy_app
ERROR: Could not find a version that satisfies the requirement psychopy_app (from versions: none)
ERROR: No matching distribution found for psychopy_app
(Psychopy2026.2.0) D:\Psychopy2026.2.0_install>pip install psychopy-app
ERROR: Could not find a version that satisfies the requirement psychopy-app (from versions: none)
ERROR: No matching distribution found for psychopy-app
(Psychopy2026.2.0) D:\Psychopy2026.2.0_install>pip install psychopy.app
ERROR: Could not find a version that satisfies the requirement psychopy.app (from versions: none)
ERROR: No matching distribution found for psychopy.app
(Psychopy2026.2.0) D:\Psychopy2026.2.0_install>pip install psychopyapp
ERROR: Could not find a version that satisfies the requirement psychopyapp (from versions: none)
ERROR: No matching distribution found for psychopyapp
(Psychopy2026.2.0) D:\Psychopy2026.2.0_install>pip install psychopyApp
ERROR: Could not find a version that satisfies the requirement psychopyApp (from versions: none)
ERROR: No matching distribution found for psychopyApp
Ah, apologies @hubertv it looks like this release was not completed.
OK, you should be able to install directly from github like this:
pip install git+https://github.com/psychopy/psychopy-app
(although note that installing either the Standalone or Studio releases from the PsychoPy Downloads page is our recommended method of installing)
The requirements.txt file does result in a working Psychopy when psychopy version is changed to 2026.1.3:
psychopy==2026.1.3
But with
psychopy==2026.2.0
psychopy does not start.
Tried this
pip install git+https://github.com/psychopy/psychopy-app
But psychopy2026.2.0 still does not start. We do need to install in a virtualenv.
But psychopy2026.2.0 still does not start
Very hard to guess from this what’s gone wrong (which is why we encourage people to use the installers that we’ve tested). So many things to explore to debug. For starters, what’s your operating system, and what version of Python is your venv?
Is there any useful information in last_app_load.log?
We do need to install in a virtualenv.
Did you know that when you use Studio it creates a venv for you (1 for each version of PsychoPy that your experiments use)? It creates them automatically with uv, as required. Going forwards, the Studio app is what we will continue to develop and the python-based application will eventually be sunset (although the date for that is not determined yet). Moving it out to its own repo to emphasise the distinction between the application and the library was a part of this step
Windows11, Python 3.10.
Log says this:
1.0037 DEBUG Opening message catalog C:\Users\Public\Envs\Psychopy2026.2.0\lib\site-packages\psychopy\localization..\app\locale\en_NL\LC_MESSAGE\messages.mo for locale en_NL
1.0038 DEBUG Locale for ‘en_NL’ not found. Using default.
pygame 2.6.1 (SDL 2.28.4, Python 3.10.11)
Hello from the pygame community. Contribute - pygame wiki
12.6632 WARNING Parameters not known to this version of PsychoPy have come from your experiment file: elAddress, elDataFiltering, elLiveFiltering, elModel, elPupilAlgorithm, elPupilMeasure, elSampleRate, elSimMode, elTrackEyes, elTrackingMode, gpAddress, gpPort, plConfidenceThreshold, plPupilCaptureRecordingLocation, plPupilRemoteAddress, plPupilRemotePort, plPupilRemoteTimeoutMs, plPupillometryOnly, plSurfaceName, tbLicenseFile, tbModel, tbSampleRate, tbSerialNo. This experiment may not run correctly in the current version.
12.7522 WARNING Parameters not known to this version of PsychoPy have come from your experiment file: elAddress, elDataFiltering, elLiveFiltering, elModel, elPupilAlgorithm, elPupilMeasure, elSampleRate, elSimMode, elTrackEyes, elTrackingMode, gpAddress, gpPort, plConfidenceThreshold, plPupilCaptureRecordingLocation, plPupilRemoteAddress, plPupilRemotePort, plPupilRemoteTimeoutMs, plPupillometryOnly, plSurfaceName, tbLicenseFile, tbModel, tbSampleRate, tbSerialNo. This experiment may not run correctly in the current version.
12.8400 WARNING Parameters not known to this version of PsychoPy have come from your experiment file: elAddress, elDataFiltering, elLiveFiltering, elModel, elPupilAlgorithm, elPupilMeasure, elSampleRate, elSimMode, elTrackEyes, elTrackingMode, gpAddress, gpPort, plCompanionAddress, plCompanionPort, plConfidenceThreshold, plPupilCaptureRecordingLocation, plPupilRemoteAddress, plPupilRemotePort, plPupilRemoteTimeoutMs, plPupillometryOnly, plSurfaceName, tbLicenseFile, tbModel, tbSampleRate, tbSerialNo. This experiment may not run correctly in the current version.
12.9334 WARNING Parameters not known to this version of PsychoPy have come from your experiment file: elAddress, elDataFiltering, elLiveFiltering, elModel, elPupilAlgorithm, elPupilMeasure, elSampleRate, elSimMode, elTrackEyes, elTrackingMode, gpAddress, gpPort, plConfidenceThreshold, plPupilCaptureRecordingLocation, plPupilRemoteAddress, plPupilRemotePort, plPupilRemoteTimeoutMs, plPupillometryOnly, plSurfaceName, tbLicenseFile, tbModel, tbSampleRate, tbSerialNo. This experiment may not run correctly in the current version.
13.0912 DEBUG Registering entry point psychopy_emotiv:EmotivMarkingComponent (from psychopy-emotiv) to psychopy.experiment.components:EmotivMarkingComponent
13.0913 DEBUG Registering entry point psychopy_emotiv:EmotivRecordingComponent (from psychopy-emotiv) to psychopy.experiment.components:EmotivRecordingComponent
13.0913 DEBUG Assigning the entry point EmotivMarkingComponent to psychopy.experiment.components.EmotivMarkingComponent.
13.0913 DEBUG Registering Builder component class EmotivMarkingComponent.
13.0914 DEBUG Assigning the entry point EmotivRecordingComponent to psychopy.experiment.components.EmotivRecordingComponent.
13.0914 DEBUG Registering Builder component class EmotivRecordingComponent.
13.0914 DEBUG Registering entry point psychopy_eyetracker_pupil_labs.pupil_labs.components:AprilTagComponent (from psychopy-eyetracker-pupil-labs) to psychopy.experiment.components:AprilTagComponent
13.0923 DEBUG Registering entry point psychopy_eyetracker_pupil_labs.pupil_labs.components:AprilTagFrameComponent (from psychopy-eyetracker-pupil-labs) to psychopy.experiment.components:AprilTagFrameComponent
13.0923 DEBUG Registering entry point psychopy_eyetracker_pupil_labs.pupil_labs.neon (from psychopy-eyetracker-pupil-labs) to psychopy.iohub.devices.eyetracker:neon
13.0924 DEBUG Registering entry point psychopy_eyetracker_pupil_labs.pupil_labs.pupil_core (from psychopy-eyetracker-pupil-labs) to psychopy.iohub.devices.eyetracker:pupil_core
13.0924 DEBUG Assigning the entry point AprilTagComponent to psychopy.experiment.components.AprilTagComponent.
13.0924 DEBUG Registering Builder component class AprilTagComponent.
13.0924 DEBUG Assigning the entry point AprilTagFrameComponent to psychopy.experiment.components.AprilTagFrameComponent.
13.0924 DEBUG Registering Builder component class AprilTagFrameComponent.
13.0925 DEBUG Assigning the entry point psychopy_eyetracker_pupil_labs.pupil_labs.neon to psychopy.iohub.devices.eyetracker.neon.
13.0925 DEBUG Assigning the entry point psychopy_eyetracker_pupil_labs.pupil_labs.pupil_core to psychopy.iohub.devices.eyetracker.pupil_core.
13.0925 DEBUG Registering entry point psychopy_eyetracker_sr_research.sr_research.eyelink.settings:EyeLinkEyetrackerBackend (from psychopy-eyetracker-sr-research) to psychopy.experiment.components.settings.eyetracking:EyeLinkEyetrackerBackend
13.0931 DEBUG Registering entry point psychopy_eyetracker_sr_research.sr_research.eyelink (from psychopy-eyetracker-sr-research) to psychopy.iohub.devices.eyetracker:eyelink
13.0932 DEBUG Assigning the entry point EyeLinkEyetrackerBackend to psychopy.experiment.components.settings.eyetracking.EyeLinkEyetrackerBackend.
13.0932 DEBUG Assigning the entry point psychopy_eyetracker_sr_research.sr_research.eyelink to psychopy.iohub.devices.eyetracker.eyelink.
13.0932 DEBUG Registering entry point psychopy_eyetracker_tobii.tobii.settings:TobiiEyetrackerBackend (from psychopy-eyetracker-tobii) to psychopy.experiment.components.settings.eyetracking:TobiiEyetrackerBackend
13.0938 DEBUG Registering entry point psychopy_eyetracker_tobii.tobii (from psychopy-eyetracker-tobii) to psychopy.iohub.devices.eyetracker:tobii
13.0939 DEBUG Assigning the entry point TobiiEyetrackerBackend to psychopy.experiment.components.settings.eyetracking.TobiiEyetrackerBackend.
13.0939 DEBUG Assigning the entry point psychopy_eyetracker_tobii.tobii to psychopy.iohub.devices.eyetracker.tobii.
13.0957 DEBUG Registering entry point psychopy_legacy.voicekey (from psychopy-legacy) to psychopy:voicekey
13.1018 DEBUG Registering entry point psychopy_legacy.components.moviepyMovie:MoviePyMovieComponent (from psychopy-legacy) to psychopy.experiment.components:MoviePyMovieComponent
13.1042 DEBUG Registering entry point psychopy_legacy.components.opencvMovie:OpenCVMovieComponent (from psychopy-legacy) to psychopy.experiment.components:OpenCVMovieComponent
13.1053 DEBUG Registering entry point psychopy_legacy.components.patch:PatchComponent (from psychopy-legacy) to psychopy.experiment.components:PatchComponent
13.1060 DEBUG Registering entry point psychopy_legacy.components.ratingScale:RatingScaleComponent (from psychopy-legacy) to psychopy.experiment.components:RatingScaleComponent
13.1073 DEBUG Registering entry point psychopy_legacy.visual.movie2:MovieStim2 (from psychopy-legacy) to psychopy.visual:MovieStim2
13.1242 DEBUG Registering entry point psychopy_legacy.visual.movie3:MovieStim3 (from psychopy-legacy) to psychopy.visual:MovieStim3
14.5194 DEBUG Registering entry point psychopy_legacy.visual.patch:PatchStim (from psychopy-legacy) to psychopy.visual:PatchStim
14.5208 DEBUG Registering entry point psychopy_legacy.visual.ratingscale:RatingScale (from psychopy-legacy) to psychopy.visual:RatingScale
14.5231 DEBUG Assigning the entry point psychopy_legacy.voicekey to psychopy.voicekey.
14.5232 DEBUG Assigning the entry point MoviePyMovieComponent to psychopy.experiment.components.MoviePyMovieComponent.
14.5232 DEBUG Registering Builder component class MoviePyMovieComponent.
14.5232 DEBUG Assigning the entry point OpenCVMovieComponent to psychopy.experiment.components.OpenCVMovieComponent.
14.5232 DEBUG Registering Builder component class OpenCVMovieComponent.
14.5232 DEBUG Assigning the entry point PatchComponent to psychopy.experiment.components.PatchComponent.
14.5232 DEBUG Registering Builder component class PatchComponent.
14.5232 DEBUG Assigning the entry point RatingScaleComponent to psychopy.experiment.components.RatingScaleComponent.
14.5232 DEBUG Registering Builder component class RatingScaleComponent.
14.5232 DEBUG Assigning the entry point MovieStim2 to psychopy.visual.MovieStim2.
14.5232 DEBUG Assigning the entry point MovieStim3 to psychopy.visual.MovieStim3.
14.5233 DEBUG Assigning the entry point PatchStim to psychopy.visual.PatchStim.
14.5233 DEBUG Assigning the entry point RatingScale to psychopy.visual.RatingScale.
14.6908 DEBUG PavloviaLoggedIn
15.1026 WARNING Couldn’t connect to psychopy.org
Check internet settings (and proxy setting in PsychoPy Preferences.
Update on this: We are now pushed to PyPi, so you can do:
pip install psychopy-app