psychopy.org | Reference | Downloads | Github

Iohub, Eyetracker, & ChooseVersion functionality

eyetracking
iohub

#1

Hi,

I’m currently trying to set up an experiment using an eyetracker 1000 and psychopy. I’ve hit two main problems with this that I’ll outline below.

First, I haven’t even got to the stage where I can show stimuli or take input. All I want to do is run a simple eyetracker calibration code taken from some online examples (here’s the code). When I try to initialise iohub, however, I get the following error:

**

####### Running: C:\Users\brainstim\Desktop\Christian\calibrationcode.py #######

Traceback (most recent call last):

File "C:\Users\brainstim\Desktop\Christian\calibrationcode.py", line 21, in <module>

io = launchHubServer(**{iohub_tracker_class_path: eyetracker_config})

File "C:\Program Files (x86)\PsychoPy2_PY3\lib\site-packages\psychopy\iohub\lazy_import.py", line 278, in call

return obj(*args, **kwargs)

File "C:\Program Files (x86)\PsychoPy2_PY3\lib\site-packages\psychopy\iohub\client\connect.py", line 301, in launchHubServer

return ioHubConnection(iohub_config)

File "C:\Program Files (x86)\PsychoPy2_PY3\lib\site-packages\psychopy\iohub\client_init_.py", line 290, in init

raise RuntimeError(‘Error starting ioHub server’)

RuntimeError: Error starting ioHub server

ioHub Server Process Completed With Code: 1

**

So after some googling I’ve found the following:

https://github.com/psychopy/psychopy/issues/1811

https://github.com/psychopy/psychopy/issues/1760

Which tells me that I’m not the first person to have this problem. I also know that this error turns up on any code that launches iohub, including previous experiments that were successfully run on this computer by other people as well as the psychopy iohub demo codes (e.g. keyboardreactiontime.py). In short, if a piece of code tries to initialise iohub it generates this specific error.

So the lab computer uses 1.90.3 and gets an error, and I know from speaking to other lab users (as well as tests on my own laptop) that version 1.85 standalone works with iohub.

I can’t ask the lab manager to install an older version, but I was helpfully pointed towards the VersionChooser code which usually looks like this:

import psychopy
psychopy.useVersion(‘1.80.02’)
from psychopy import visual, core, event
#carry on as usual

Unfortunately this also generates an error. Specifically, the following:

**

####### Running: C:\Users\brainstim\Desktop\Christian\calibrationcode.py #######

Traceback (most recent call last):

File "C:\Users\brainstim\Desktop\Christian\calibrationcode.py", line 4, in <module>

useVersion(‘1.80’)

File "C:\Program Files (x86)\PsychoPy2_PY3\lib\site-packages\psychopy\tools\versionchooser.py", line 85, in useVersion

raise ValueError(msg.format(requestedVersion))

ValueError: Unknown version 1.80

**

I also know that this issue has been identified here:

However, I was not able to make their solution work (or rather I’m not very clear on what the solution entails).

The lab computer uses window 7 64-bit. Psychopy version is 1.90.3. And the computer is deliberately not connected to the internet (so I can’t readily expect useVersion to download any github code).

What I really need would be a good understanding of how to get the versionchooser working on the lab computer. It’s difficult for me to go to the lab manager with a nebulous issue like “I think we need to install some older versions on there” because it’s not very clear how he can action that complaint. What I really need to know is the following:

What files need to be transferred?

Where do we find the files?

And where do we install them?

Ultimately I’d like to have a working chooseVersion functionality on this computer not only for myself, but anyone else who uses it in the future. This is my primary concern.

But… on the off-chance that anyone has gotten iohub to work with an eyetracker using a 1.9+ version of psychopy and has previously dealt with the error code I posted above, I would very much appreciate hearing more about how you got around that issue!

If there’s anything else I ought to post, please let me know and I’ll get to it ASAP.