Psychopy并口错误:psychopy.parallel has been imported but no parallel port driver found
Psychopy并口错误:psychopy.parallel has been imported but no parallel port driver found
本篇文章主要解决以下问题:
psychopy.parallel has been imported but no parallel port driver found. Install either inpout32, inpoutx64 or dlportio。
本文所使用的环境:
Windows11
Python 3.10
numpy==2.2.6 psychopy==2026.2.1 psychtoolbox==3.0.22.2一、并口配置
并口的配置可以参考官方文档:
Psychopy并口https://psychopy.org/api/parallel.html
class TriggerPort: """可选的并口触发输出;只有配置地址后才会启用。""" def __init__(self, address: int | None) -> None: self._port: Any | None = None if address is not None: from psychopy import parallel self._port = parallel.ParallelPort(address=address) self._port.setData(0) def set(self, value: int) -> None: if self._port is not None: self._port.setData(value) def close(self) -> None: self.set(0)并口的配置方式如上所示,假如我们在初始化并口的时候给了一个并口地址,那么就可能因出现题目中的错误而导致程序自动退出(初始化失败)。
这行报错表示缺少并口驱动,我们需要下载对应的驱动。
二、驱动下载
这一部分也可以参考官方文档:
Psychopy硬件 并口
点击下面的链接https://www.highrez.co.uk/Downloads/InpOut32/
找到Download Links,如下图所示
点击第一个https://www.highrez.co.uk/scripts/download.asp?package=InpOutBinaries
即可开始下载驱动文件。下载完成后得到一个名为InpOutBinaries_1501.zip的压缩包,解压后会得到两个文件夹,分别是Win32和x64,两个文件夹里各有一个驱动文件,即后缀为dll的文件,分别是inpout32.dll和inpoutx64.dll。
我们把这两个文件移动到C:\Windows\System32下面即可。
这时重启psychopy环境,会发现问题已经解决,并口可以正常使用了。
三、原因
这其实是一个历史遗留问题,并口是非常古老的硬件端口,现在的设备已经基本不使用了,因此新的设备会需要像这样的额外操作才能保证其正常运行。
下载下来的驱动里会有一份说明,它的中文版是这样的:
该驱动程序支持对“传统”硬件端口地址进行写入操作。
但不支持USB 设备(如 USB 并口),也不支持 PCI 并口(据我所知)。驱动程序在运行时安装,但此操作需要管理员权限。
在 Windows Vista 及更高版本系统中(开启 UAC 的情况下),您可以运行
\Win32文件夹中的InstallDriver.exe来安装适用于当前操作系统的驱动程序。
执行该程序时会触发提升权限请求,并询问您的许可(或要求输入管理员密码)。驱动程序首次安装完成后,此后任何用户均可正常使用,无需再具备管理员权限。
