| Reference | Downloads | Github

Monitor center wont open

I cant open the monitor center when I run psychopy on a Windows 7 computer with a Elo touch screen. When I click on the Monitor Center in the Tools pane I get the following output:

Traceback (most recent call last):
File “C:\Programmer\PsychoPy2\lib\site-packages\psychopy\”, line 518 in openMonitorCenter
None, ‘PsychoPy2 Monitor Center’)

File “C:/Programmer\PsychoPy2\”, line383, in getitem
func = self._FuncPtr((name_or_ordinal, self))
Attribute Error: function ‘CancelIoEx’ not found

I’ve tried uninstalling and reinstalling psychopy several times without success.
It Works on my laptop and other desktop, so I Wonder if its something to do with the screen??

I hope someone has a good suggestion.


I haven’t seen this one before, and I can’t imagine what causes it. Could you post all the lines of the error please (not just first and last) and also the exact version of PsychoPy you’re using? Thanks

Hi Jon,

I also was unable to open the monitor center today, I have attached a screen shot of the error we received. I believe I saved a new monitor without adding pixel values to one of the dimensions or something. Anyway, unistalling and reinstalling was also not succesful, as mentioned by Maria1. Do you have any advice?


I have the exact same problem, Maria.
Did you ever get it resolved? You mentioned you were on windows 7; I’m on XP sp3, 32bit. I wonder if we’re both using a 32bit operating system…
Here is the error generated when I try to open Monitor Center in Psychopy 1.85.6:

Traceback (most recent call last):
File “C:\Program Files\PsychoPy2\lib\site-packages\psychopy\”, line 530, in openMonitorCenter
None, ‘PsychoPy2 Monitor Center’)
File “C:\Program Files\PsychoPy2\lib\site-packages\psychopy\monitors\”, line 192, in init
rightSizer.Add(self.makeCalibBox(self.infoPanel), 1, style, 2)
File “C:\Program Files\PsychoPy2\lib\site-packages\psychopy\monitors\”, line 381, in makeCalibBox
choices = list([p.longName for p in hardware.getAllPhotometers()])
File "C:\Program Files\PsychoPy2\lib\site-packages\psychopy\hardware_init
.py", line 67, in getAllPhotometers
from . import minolta, pr
File “C:\Program Files\PsychoPy2\lib\site-packages\psychopy\hardware\”, line 16, in
import serial
File "C:\Program Files\PsychoPy2\lib\site-packages\serial_init
.py", line 27, in
from serial.serialwin32 import Serial
File “C:\Program Files\PsychoPy2\lib\site-packages\serial\”, line 15, in
from serial import win32
File “C:\Program Files\PsychoPy2\lib\site-packages\serial\”, line 182, in
CancelIoEx = stdcall_libraries[‘kernel32’].CancelIoEx
File "C:\Program Files\PsychoPy2\lib\ctypes_init
.py", line 378, in getattr
func = self.getitem(name)
File “C:\Program Files\PsychoPy2\lib\”, line 383, in getitem
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: function ‘CancelIoEx’ not found

@ben_mprc your error is different and, yes, that does look like it’s related to winXP not being supported by the serial library. We could change that so it won’t give you an error, but you won’t be able to use serial ports (so won’t be able to calibrate your device) without changing pyserial itself

Would installing an older version of pyserial, say version 2.7, allow me to use monitor center in psychopy? Would it work even if I’m using the standalone psychopy installation? Would it allow me to calibrate the monitor via the serial port?

In short, I don’t know. That seems to be what the post linked above suggests, but I didn’t write pyserial (merely a user) and I don’t have a winXP box to test on.

If you want to try then you’d have to install to another Python and then copy the files over to Standalone