Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Supported by

pylink AttributeError "split"

Hi, i've been trying to get the eyelink to work on our windows (10) system. I thought I was running into versions of python, os, pylink, pygaze etc not being compatible with each other, so decided to just update all of them (ie., I reinstalled OS and the SR development package and copied their pygaze folder to the OS folder). Now I'm still running into the following error when I try to initialze the eyelink using pygaze_init:

Unexpected error

item-stack: experiment[run].pygaze_init[run]
time: Wed Jul 14 14:39:48 2021
exception type: AttributeError
exception message: module 'pylink.__version__' has no attribute 'split'

Traceback:
  File "C:\Program Files (x86)\OpenSesame\Lib\site-packages\libqtopensesame\misc\process.py", line 158, in run
    exp.run()
  File "C:\Program Files (x86)\OpenSesame\Lib\site-packages\libopensesame\experiment.py", line 470, in run
    self.items.execute(self.var.start)
  File "C:\Program Files (x86)\OpenSesame\Lib\site-packages\libopensesame\item_store.py", line 103, in execute
    self.run(name)
  File "C:\Program Files (x86)\OpenSesame\Lib\site-packages\libopensesame\item_store.py", line 122, in run
    self[name].run()
  File "C:\Program Files (x86)\OpenSesame\Lib\site-packages\libopensesame\sequence.py", line 51, in run
    self.experiment.items.run(_item)
  File "C:\Program Files (x86)\OpenSesame\Lib\site-packages\libopensesame\item_store.py", line 122, in run
    self[name].run()
  File "C:\Program Files (x86)\OpenSesame\share\opensesame_plugins\pygaze_init\pygaze_init.py", line 229, in run
    **kwdict)
  File "C:\Program Files (x86)\OpenSesame\Lib\site-packages\pygaze\eyetracker.py", line 71, in __init__
    self.__class__.__init__(self, display, **args)
  File "C:\Program Files (x86)\OpenSesame\Lib\site-packages\pygaze\_eyetracker\libeyelink.py", line 177, in __init__
    self.eyelink_graphics = EyelinkGraphics(self, _eyelink)
  File "C:\Program Files (x86)\OpenSesame\Lib\site-packages\pygaze\_eyetracker\eyelinkgraphics.py", line 100, in __init__
    pl_version = pylink.__version__.split(".")
AttributeError: module 'pylink.__version__' has no attribute 'split'

OS tells me the following packages are installed:

System

System: Windows-10-10.0.19041-SP0

Architecture: win64

Modules and packages

OpenSesame 3.3.9

Python 3.7.6 | packaged by conda-forge | (default, Jan 7 2020, 21:48:41) [MSC v.1916 64 bit (AMD64)]

datamatrix 0.11.0

qdatamatrix 0.1.30

pseudorandom 0.2.2

fileinspector 1.0.2

QNotifications 2.0.6

QOpenScienceFramework 1.3.1

opencv 4.2.0

expyriment 0.10.0+opensesame2

IPython 7.12.0

numpy 1.18.1

scipy 1.3.1

PIL/ PILLOW [version unknown]

psychopy 2021.1.3

pygame 1.9.6

pygaze 0.7.2a2

pyglet 1.5.0

PyQt 5.12.3

serial 3.4

markdown 3.2.1

yaml 5.3

I'm not sure if I'm doing something stupid or if I just missed something. Hope someone could point me in the right direction. Thanks!

Kindly, Robbert

Comments

  • ps. I copied the "pylink" folder from "C:\Program Files (x86)\SR Research\EyeLink\SampleExperiments\Python\64\3.7" to the main OS folder

  • pps.

    the file __version __.py located in C:\Program Files (x86)\OpenSesame\pylink contains the following:

    __title__ = 'pylink'
    __description__ = 'Python module for interfacing SR Research EyeLink eye trackers'
    __url__ = 'https://www.sr-support.com'
    __version__ = '2.1.1.0'
    __author__ = 'SR Research.com'
    __author_email__ = 'support@sr-research.com'
    __license__ = 'SR Research Ltd.'
    __copyright__ = 'Copyright 2021 SR Research Ltd.'
    

    and in the OS console it seems the split functions works fine on a string like that (I don't use python alot so I can't tell if it's common in 2.7 vs 3.x etc.)

  •         # A crosshair is drawn onto the eye image. This should be scaled in
            # pylink 1.1.0.5 (tested on Python 2.7) but not on pylink 1.11.0.0
            # (tested on Python 3.6). I'm not sure when this change happened, so
            # it's quite likely we'll have to update the minor version used here.
            #pl_version = pylink.__version__.split(".")
            #if int(pl_version[0]) > 1 or int(pl_version[1]) >= 11:
            #    self.scale_lines_in_eye_image = False
            #else:
            #    self.scale_lines_in_eye_image = True
            self.scale_lines_in_eye_image = False
    

    I commented out some lines in C:\Program Files (x86)\OpenSesame\Lib\site-packages\pygaze\_eyetracker\eyelinkgraphics.py and forced the crosshair. It works now, but pretty sure this is not the correct solution.

  • I'm adding my comment here so I can find this thread later. I'm having the same problem, and hoping someone finds a permanent solution. I'll try this fix for now though, thanks!.

  • @robbertmijn @joeymac This is due to updated to the EyeLink SDK. This has also broken the fixation-triggered drift correction. It's on the radar, and once we've resolved it we'll update PyGaze. For now you can also replace eyelinkgraphics.py with the version from this branch (this only addresses the __version__ error though, not the fixation-triggered drift correction):

  • edited December 2021

    Here's another one who had the wonderful idea of updating the set up in these days, because why not? πŸ˜… πŸ€¦β€β™€οΈ

    @sebastiaan , I see that the link you posted over here is not working any more, will there be news soon?

    should we wait on the new version of opensesame?

    Thanks!

  • Hi @ChiaraDL ,

    The fix has been merged, but we're still waiting on @Edwin (!) to actually tag the release and update it to PyPi. However, in the meanwhile you can update directly from the git repository:

    !pip install git+https://github.com/esdalmaijer/PyGaze.git
    

    See also:

    — Sebastiaan

  • Thank you @sebastiaan πŸ™ I will look into that!

    Best!

    Chiara

  • Here I am again, I finally got the time to fix this problem following your suggestion @sebastiaan .

    Everything seems to work fine but when I launch opensesame I get this message:

    RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd

    is this going to be an issue? The experiment seems to start alright...

    Chiara

  • @ChiaraDL The numpy error originates from something else, although I'm not sure what. It appears harmless. PyLink is now actually also updated on PyPi, so you can also run:

    !pip install pygaze --upgrade
    

    And it will be included in OpenSesame 3.3.11, which we will probably release in the next two weeks or so.

  • Excellent!!! Thanks!

Sign In or Register to comment.

agen judi bola , sportbook, casino, togel, number game, singapore, tangkas, basket, slot, poker, dominoqq, agen bola. Semua permainan bisa dimainkan hanya dengan 1 ID. minimal deposit 50.000 ,- bonus cashback hingga 10% , diskon togel hingga 66% bisa bermain di android dan IOS kapanpun dan dimana pun. poker , bandarq , aduq, domino qq , dominobet. Semua permainan bisa dimainkan hanya dengan 1 ID. minimal deposit 10.000 ,- bonus turnover 0.5% dan bonus referral 20%. Bonus - bonus yang dihadirkan bisa terbilang cukup tinggi dan memuaskan, anda hanya perlu memasang pada situs yang memberikan bursa pasaran terbaik yaitu http://45.77.173.118/ Bola168. Situs penyedia segala jenis permainan poker online kini semakin banyak ditemukan di Internet, salah satunya TahunQQ merupakan situs Agen Judi Domino66 Dan BandarQ Terpercaya yang mampu memberikan banyak provit bagi bettornya. Permainan Yang Di Sediakan Dewi365 Juga sangat banyak Dan menarik dan Peluang untuk memenangkan Taruhan Judi online ini juga sangat mudah . Mainkan Segera Taruhan Sportbook anda bersama Agen Judi Bola Bersama Dewi365 Kemenangan Anda Berapa pun akan Terbayarkan. Tersedia 9 macam permainan seru yang bisa kamu mainkan hanya di dalam 1 ID saja. Permainan seru yang tersedia seperti Poker, Domino QQ Dan juga BandarQ Online. Semuanya tersedia lengkap hanya di ABGQQ. Situs ABGQQ sangat mudah dimenangkan, kamu juga akan mendapatkan mega bonus dan setiap pemain berhak mendapatkan cashback mingguan. ABGQQ juga telah diakui sebagai Bandar Domino Online yang menjamin sistem FAIR PLAY disetiap permainan yang bisa dimainkan dengan deposit minimal hanya Rp.25.000. DEWI365 adalah Bandar Judi Bola Terpercaya & resmi dan terpercaya di indonesia. Situs judi bola ini menyediakan fasilitas bagi anda untuk dapat bermain memainkan permainan judi bola. Didalam situs ini memiliki berbagai permainan taruhan bola terlengkap seperti Sbobet, yang membuat DEWI365 menjadi situs judi bola terbaik dan terpercaya di Indonesia. Tentunya sebagai situs yang bertugas sebagai Bandar Poker Online pastinya akan berusaha untuk menjaga semua informasi dan keamanan yang terdapat di POKERQQ13. Kotakqq adalah situs Judi Poker Online Terpercayayang menyediakan 9 jenis permainan sakong online, dominoqq, domino99, bandarq, bandar ceme, aduq, poker online, bandar poker, balak66, perang baccarat, dan capsa susun. Dengan minimal deposit withdraw 15.000 Anda sudah bisa memainkan semua permaina pkv games di situs kami. Jackpot besar,Win rate tinggi, Fair play, PKV Games