使用PyGaze内置shooting_game时出现No module named 'psychopy'错误
解决PyGaze射击游戏的PsychoPy依赖与Setuptools问题
兄弟,你这问题其实是典型的依赖链故障:先是PyGaze缺PsychoPy,装PsychoPy又被旧版setuptools卡了,而且手动复制脚本的操作还可能打乱了包的正常导入路径。我给你梳理一套靠谱的解决步骤:
先搞定Setuptools的核心问题
你遇到的ImportError: No module named 'setuptools.config',本质是你的setuptools版本太老了——这个模块是在较新的setuptools版本里才有的。直接卸载重装稳定版就行:
- 用pip操作(如果是普通Python环境):
pip uninstall -y setuptools pip install setuptools==65.5.0 - 要是用Anaconda,用conda管理更稳:
conda remove setuptools conda install setuptools=65.5.0
选65.5.0是因为这个版本兼容性强,不会像最新版那样可能和旧项目冲突。
再安装兼容版的PsychoPy
PyGaze对PsychoPy的版本有要求,别装最新版,容易不兼容。推荐装2021.2.3这个经过验证的版本:
pip install psychopy==2021.2.3
Anaconda用户可以用conda-forge源安装:
conda install -c conda-forge psychopy=2021.2.3
修复PyGaze的导入混乱
之前你手动把PyGaze的脚本复制到项目目录的操作,会让Python优先加载你复制的文件,而不是系统里正常安装的PyGaze包,这很容易导致依赖缺失。赶紧删掉那些复制的脚本,然后确保PyGaze是正常安装的:
pip install pygaze
最后验证依赖
打开Python终端,输入这两行测试:
import psychopy.core from pygaze import libtime
要是没报错,说明依赖问题已经解决了,再回去运行射击游戏应该就能正常进入了。
额外提醒
- 确保你运行游戏的Python环境,就是你刚才安装所有依赖的那个环境(别不小心用了系统默认的Python)
- 之后如果出现眼动追踪的问题,记得检查你的眼动仪驱动,还有PyGaze里的眼动追踪配置是否匹配你的设备
内容的提问来源于stack exchange,提问作者GFTW
相关产品推荐
相关产品推荐

