isolver / ioHub

A Python program, running as an independent process, that provides a 'proxy like' service for experiment runtimes ( psychopy ) and devices ( keyboard, mouse, parallel port, eye tracker, ... ).
19 stars 14 forks source link

ENH/DOC: improve dependency documentation across OS #79

Open dengemann opened 10 years ago

dengemann commented 10 years ago

Currently ioHub depends on recent versions of gevent. For example Ubuntu 12.0.4 LTS comes with gevent 13.6 which will not work with current ioHub code (seems to require 13.8 -- DatagramServer). However compilation from github master seems to have worked for me. Note: also a timely versions of greenlet is required. Anyways, would be good to handle these dependencies.

dengemann commented 10 years ago

... and related: it would be good to create a list of dependencies for Linux systems ....

isolver commented 10 years ago

Hi Denis,

I thought Gevent 1.0 was required actually, anything using the older libevent (gevent 0.x.x series) did not work. Maybe in 0.13.8 DatagramServer was back ported from 1.0?

Anyways, would be good to handle these dependencies.

Sorry, can you be more explicit? On Linux all the required dependencies for psychopy and iohub need to be installed manually. I 'think' this list is still up to date:

http://www.isolver-solutions.com/iohubdocs/iohub/installation.html#linux

Thanks again,

Sol

isolver commented 10 years ago

Looks like some of the links on the install page for linux are now dead actually, so I need to fix that when I get a chance.

Thanks,

Sol

On Tue, Oct 8, 2013 at 8:26 AM, Sol Simpson sol@isolver-software.comwrote:

Hi Denis,

I thought Gevent 1.0 was required actually, anything using the older libevent (gevent 0.x.x series) did not work. Maybe in 0.13.8 DatagramServer was back ported from 1.0?

Anyways, would be good to handle these dependencies.

Sorry, can you be more explicit? On Linux all the required dependencies for psychopy and iohub need to be installed manually. I 'think' this list is still up to date:

http://www.isolver-solutions.com/iohubdocs/iohub/installation.html#linux

Thanks again,

Sol

dengemann commented 10 years ago

@isolver don't worry, I'm almost having a running setup on Linux. I'll update the issue as soon as I'm done here. Then we can see what can be added to the docs.

dengemann commented 10 years ago

... Tracker is connected but I get some weid pyglet error.


####### Running: /home/jointattention/FaceJudgmentTask/gc_cursor/run.py ########
Error during runSetupProcedure
<type 'exceptions.AssertionError'>
AssertionError('Must specify width with multiline',)
['  File "/usr/local/lib/python2.7/dist-packages/PsychoPy-1.78.01-py2.7.egg/psychopy/iohub/devices/eyetracker/hw/tobii/eyetracker.py", line 201, in runSetupProcedure\n    targetInnerDiameter=targetInnerDiameter)\n',
 '  File "/usr/local/lib/python2.7/dist-packages/PsychoPy-1.78.01-py2.7.egg/psychopy/iohub/devices/eyetracker/hw/tobii/tobiiCalibrationGraphics.py", line 120, in __init__\n    self._createStim()\n',
 '  File "/usr/local/lib/python2.7/dist-packages/PsychoPy-1.78.01-py2.7.egg/psychopy/iohub/devices/eyetracker/hw/tobii/tobiiCalibrationGraphics.py", line 208, in _createStim\n    wrapWidth=self.width*0.9)\n',
 '  File "/usr/local/lib/python2.7/dist-packages/PsychoPy-1.78.01-py2.7.egg/psychopy/visual.py", line 4317, in __init__\n    self.setText(text, log=False) #self.width and self.height get set with text and calcSizeRednered is called\n',
 '  File "/usr/local/lib/python2.7/dist-packages/PsychoPy-1.78.01-py2.7.egg/psychopy/visual.py", line 4401, in setText\n    self._setTextShaders(text)\n',
 '  File "/usr/local/lib/python2.7/dist-packages/PsychoPy-1.78.01-py2.7.egg/psychopy/visual.py", line 4473, in _setTextShaders\n    width=self._wrapWidthPix)#width of the frame\n',
 '  File "/usr/lib/pymodules/python2.7/pyglet/font/__init__.py", line 347, in __init__\n    group=self._group)\n',
 '  File "/usr/lib/pymodules/python2.7/pyglet/text/layout.py", line 774, in __init__\n    assert not multiline or width, \'Must specify width with multiline\'\n']
Xfixes DLL could not be loaded. Cursor visiblity support is unavailable.
dengemann commented 10 years ago

@isolver fasscinating. the WrapWidth argument in calibration graphics causes a bad low level crash on Linux with the most recent pyglet version ... This line: File "/usr/local/lib/python2.7/dist-packages/PsychoPy-1.78.01-py2.7.egg/psychopy/iohub/devices/eyetracker/hw/tobii/tobiiCalibrationGraphics.py", line 208, in _createStim\n wrapWidth=self.width*0.9)\n'

Shall we add a fix (trying to set wrapwidth) in Psychopy or here?

isolver commented 10 years ago

For pyglet, I would suggest using the 1.1.4 stable version, not 1.2. 1.2 seems to actually be somewhat slower at rendering than 1.1.4.

http://www.pyglet.org/download.html

You should not have an issue using 1.1.4, if you do, let me know what it is.

Thanks again,

Sol

On Tue, Oct 8, 2013 at 9:52 AM, Denis A. Engemann notifications@github.comwrote:

@isolver https://github.com/isolver fasscinating. the WrapWidth argument in calibration graphics causes a bad low level crash on Linux with the most recent pyglet version ... This line:

File "/usr/local/lib/python2.7/dist-packages/PsychoPy-1.78.01-py2.7.egg/psychopy/iohub/devices/eyetracker/hw/tobii/tobiiCalibrationGraphics.py", line 208, in _createStim\n wrapWidth=self.width*0.9)\n'

Shall we add a fix (trying to set warpwidth) in Psychopy or here?

— Reply to this email directly or view it on GitHubhttps://github.com/isolver/ioHub/issues/79#issuecomment-25891266 .

isolver commented 10 years ago

looks like you also need to get Xfixes; it came with the Mint Linux distro I use but maybe not with the distro you are using?

Thanks again,

Sol

On Tue, Oct 8, 2013 at 10:23 AM, Sol Simpson sol@isolver-software.comwrote:

For pyglet, I would suggest using the 1.1.4 stable version, not 1.2. 1.2 seems to actually be somewhat slower at rendering than 1.1.4.

http://www.pyglet.org/download.html

You should not have an issue using 1.1.4, if you do, let me know what it is.

Thanks again,

Sol

On Tue, Oct 8, 2013 at 9:52 AM, Denis A. Engemann < notifications@github.com> wrote:

@isolver https://github.com/isolver fasscinating. the WrapWidth argument in calibration graphics causes a bad low level crash on Linux with the most recent pyglet version ... This line:

File "/usr/local/lib/python2.7/dist-packages/PsychoPy-1.78.01-py2.7.egg/psychopy/iohub/devices/eyetracker/hw/tobii/tobiiCalibrationGraphics.py", line 208, in _createStim\n wrapWidth=self.width*0.9)\n'

Shall we add a fix (trying to set warpwidth) in Psychopy or here?

— Reply to this email directly or view it on GitHubhttps://github.com/isolver/ioHub/issues/79#issuecomment-25891266 .

dengemann commented 10 years ago

Hey Sol, the issue actually was with 1.14. I was thinking about about a function that checks for OS / versions and safely adds the text stim params using a try / catch.

Btw. good news: with my temporary hack all is working nicely. I'll wrap up my experience so we can add new examples + docs

dengemann commented 10 years ago

@isolver updated the title to match our actual discussion.

isolver commented 10 years ago

excellent. ;) The TextStim fix should likely be implemented in psychopy.visual, which keeps a flag relarding the pyglet version being used already for some other 1.1.4 vs 1.2 conditional logic.

On Tue, Oct 8, 2013 at 10:29 AM, Denis A. Engemann <notifications@github.com

wrote:

Hey Sol, the issue actually was with 1.14. I was thinking about about a function that checks for OS / versions and safely adds the text stim params using a try / catch.

Btw. good news: with my temporary hack all is working nicely. I'll wrap up my experience so we can add new examples + docs

— Reply to this email directly or view it on GitHubhttps://github.com/isolver/ioHub/issues/79#issuecomment-25894673 .

isolver commented 10 years ago

Can this be closed? Not sure / clear what the outstanding issue(s) here are.