OpenSesame with Python 3
Hi,
I'm not sure if this has been discussed, so I thought I might ask here.
Given the sunset of Python 2, what is the plan with some packages that are still incompatible and not available in OpenSesame with Python 3? One of my concerns is, can we communicate with EyeLink any other way than using PyGaze?
Cheers,
intan
Comments
Hi Intan,
For now, the plan is to keep building also a Python 2 package, even though it won't be the default anymore. Obviously, the ideal scenario will be that PyGaze (which is the only package still not Python-3 compatible) is finally updated, @Edwin !
Cheers,
Sebastiaan
Check out SigmundAI.eu for our OpenSesame AI assistant!
Almost there with Python 3 integration!
Good work!
Sebastiaan, do you happen to have an Ubuntu ppa with the python3 package (and python3 dependencies)?
BTW i did not notice pygaze was not finished yet in py3, it seem to install fine through pip3.
Hi Bob,
Yes, you can install it from the `rapunzel` ppa!
- https://osdoc.cogsci.nl/3.3/download/#ubuntu
Cheers,
Sebastiaan
Check out SigmundAI.eu for our OpenSesame AI assistant!
Hi Sebastiaan,
Thanks, how stupid of me, I was not really awake yet. I already know this ppa and fiddled with it before.
Did some testing today and had some problems with the plugin system. Will explain more in the rapunzel thread.
@sebastiaan and @Edwin ,
sounds like good news! Thanks guys for the hard work - it's amazing :-) I will test it out tomorrow and see how it works.
Looks like PyGaze has been updated to Python 3 (great work @Edwin!)
Is there any further integration that needs to be done on the OpenSesame end?
Hi Matt,
Is there any further integration that needs to be done on the OpenSesame end?
No, PyGaze is now bundled with the prerelease package of OpenSesame 3.3 based on Python 3.7. So if you download that, you can use it right away. (That being said, I anticipate that a few bugs will need to be worked out, but we'll do that as these bugs are reported.)
Cheers!
Sebastiaan
Check out SigmundAI.eu for our OpenSesame AI assistant!
Hi @sebastiaan and @Edwin ,
I tried out OpenSesame 3.3 on Windows 10 with an existing EEG-eyetracking experiment that previously worked on Windows 7. However, after the upgrade, there are a couple of errors I have encountered:
Exception: Error in libeyelink.libeyelink.__init__(): Failed to connect to the tracker!although the eye-tracker (EyeLink 1000 Plus) is on and connected to the display PC via ethernet.fixationplugin on OpenSesame 3.3 does not work and throws acontrolserror (I forgot to save the error traceback).setPortAddress()function in the inline script because it still asks me every time to set port address...Thanks again for your hard work in making the software work!
Cheers,
intan
Hi Intan,
Thanks for testing this!
Regarding points 1 and 2, I'm going to try this in the EyeLink lab myself first.
The new
fixationplugin on OpenSesame 3.3 does not work and throws acontrolserror (I forgot to save the error traceback).Thanks, I forgot about that plugin! I don't really want people to use it anymore, because it's just a poor
sketchpadreally. But of course it shouldn't break, so I'll fix it.The PsychoPy's library to connect to the EEG parallel port (via parallel) does not seem to recognise the setPortAddress() function in the inline script because it still asks me every time to set port address...
This may be a PsychoPy-specific issue. OpenSesame (≤ 3.2) used to include a pretty outdated version of PsychoPy (1.85), which has now finally been updated to PsychoPy 3.2.4.
But I don't really understand what happens. What do you mean with 'it still asks me every time to set port address...?'
Cheers!
Sebastiaan
Check out SigmundAI.eu for our OpenSesame AI assistant!
Hi Sebastiaan,
thanks for your prompt response!
I am not sure if the
controlserror is related with thefixationplugin, but even without thefixationplugin implemented, I still got the error. This time I recorded the error traceback:As for the
pygazeitem, I got the following error a couple of times. Is it maybe because OpenSesame 3.3 runs on Python 3.7 and the pylink package is on other Python 3.x (in this case, pylink 3.2).But I don't really understand what happens. What do you mean with 'it still asks me every time to set port address...?'
I think for now you can ignore this question because my guess is it is the issue with DLPortIO. In short, my problem is that the EEG triggers are not sent. My question is, will I have to follow the steps laid out here (although it's for Windows 7 and my PC is Windows 10 Pro)?
Cheersies,
intan
Oh, wait.
If I use the following code to connect with the parallel port, do I still need to have
dlportio.sysinstalled anddlportio.dllin the OpenSesame folder?@intanwardhani Regarding the EyeLink, the main issue is that PyLink is not built for Python 3.7, which is what OpenSesame 3.3 uses when based on Python 3 (i.e. the default). The most recent build (which you need to download from the SR Research forum) is for Python 3.6. Right now I see two workarounds, neither of which is very satisfying.
The first would be to install OpenSesame and all its dependencies through Anaconda using Python 3.6. So building your environment, basically.
The second would be to download the Pyhton 2.7-based package of OpenSesame, and use the
pylink27-amd64version of PyLink. Just as before, in other words, but now with the 64 bit version.I'll ask the SR Research people if they're planning to update PyLink for recent versions of Python. (Python 3.8 is already out.)
Check out SigmundAI.eu for our OpenSesame AI assistant!
Hi @sebastiaan ,
thanks! I will test both of the solutions you proposed and keep you updated if it works. I have already asked people from the SR Research about that, but so far no response. I read on another thread as well that they're not planning to have pylink3x above 36 in the near future (I hope I read it wrong).
Regarding the PsychoPy's parallel library, I tried to test OpenSesame 3.3 with it and the following error came up. This error only came up with OpenSesame 3.3, but not 3.2.8. What could possibly go wrong?