Howdy, Stranger!

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

Supported by

Error Psycho' object has no attribute 'set_font' when connecting to Eyelink

Hi, we've been using Opensesame (on Ubuntu 22.04) to collect data with an Eyelink Duo without any issues for a while now, but since updating packages we are now getting this error whenever we are starting an eye tracking experiment and trying to calibrate the Eyelink:

Traceback (most recent call last):
  File "/home/cinc/.local/lib/python3.10/site-packages/libqtopensesame/misc/process.py", line 134, in run
    exp.run()
  File "/home/cinc/.local/lib/python3.10/site-packages/libopensesame/experiment.py", line 351, in run
    self.items.execute(self.var.start)
  File "/home/cinc/.local/lib/python3.10/site-packages/libopensesame/item_store.py", line 89, in execute
    self.run(name)
  File "/home/cinc/.local/lib/python3.10/site-packages/libopensesame/item_store.py", line 105, in run
    self[name].run()
  File "/home/cinc/.local/lib/python3.10/site-packages/libopensesame/sequence.py", line 48, in run
    self.experiment.items.run(_item)
  File "/home/cinc/.local/lib/python3.10/site-packages/libopensesame/item_store.py", line 105, in run
    self[name].run()
  File "/usr/lib/python3/dist-packages/opensesame_plugins/pygaze/pygaze_init/pygaze_init.py", line 179, in run
    self.experiment.pygaze_eyetracker = EyeTracker(
  File "/home/cinc/.local/lib/python3.10/site-packages/pygaze/eyetracker.py", line 71, in __init__
    self.__class__.__init__(self, display, **args)
  File "/home/cinc/.local/lib/python3.10/site-packages/pygaze/_eyetracker/libeyelink.py", line 177, in __init__
    self.eyelink_graphics = EyelinkGraphics(self, _eyelink)
  File "/home/cinc/.local/lib/python3.10/site-packages/pygaze/_eyetracker/eyelinkgraphics.py", line 95, in __init__
    self.draw_menu_screen()
  File "/home/cinc/.local/lib/python3.10/site-packages/pygaze/_eyetracker/eyelinkgraphics.py", line 145, in draw_menu_screen
    self.menuscreen.draw_text(text="Eyelink calibration menu",
  File "/home/cinc/.local/lib/python3.10/site-packages/pygaze/_screen/osscreen.py", line 250, in draw_text
    self.canvas.set_font(style=font, size=fontsize)
AttributeError: 'Psycho' object has no attribute 'set_font'

An equivalent error occurs with the other backends. What could be the issue?

Many thanks!

Bernhard

Comments

  • Hi @Bangele ,

    There was indeed a bug in a specific version of PyGaze. This has been fixed in 0.8.8. which you can install either through the Cogscinl PPA, anaconda, or by getting the latest source here.

    Hope this helps!

    — Sebastiaan

  • Hi Sebastiaan,

    That fixed it! Turns out I had an old version in .local/lib/python3.10/site-packages/pygaze/. After deleting it and installing the new version from the PPA, everything now works.

    Thank you so much for the quick reply and the help in figuring this out!

    Bernhard

Sign In or Register to comment.