Package Details: fsleyes 1.10.2-1

Git Clone URL: https://aur.archlinux.org/fsleyes.git (read-only, click to copy)
Package Base: fsleyes
Description: FSLeyes is the FSL image viewer
Upstream URL: https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FSLeyes
Licenses: Apache
Submitter: tobac
Maintainer: tobac
Last Packager: tobac
Votes: 5
Popularity: 0.000000
First Submitted: 2017-10-11 11:10 (UTC)
Last Updated: 2024-02-06 22:08 (UTC)

Latest Comments

1 2 3 4 5 Next › Last »

jnvandermeer commented on 2023-03-06 11:20 (UTC)

One of the dependencies is python-dataclasses and this may not work.

When I try to install with pacaur python-dataclasses, it fails with error message: AttributeError: module 'typing' has no attribute '_ClassVar'. Did you mean: 'ClassVar'?

From what I could find, this has something to do with python version being >=3.8.

It gets stuck in the same error when I try to make fsleyes.

keiichiiownsu12 commented on 2022-10-04 22:37 (UTC) (edited on 2022-10-04 22:37 (UTC) by keiichiiownsu12)

Minor suggested patch to fsleyes.desktop, to allow opening multiple files from file browser...

diff --git a/fsleyes.desktop b/fsleyes.desktop
index c5014d2..b5f619a 100644
--- a/fsleyes.desktop
+++ b/fsleyes.desktop
@@ -1,6 +1,6 @@
 [Desktop Entry]
 Comment=FSL image viewer
-Exec=/usr/bin/fsleyes
+Exec=/usr/bin/fsleyes %U
 Icon=fsleyes
 Name=FSLeyes
 StartupNotify=true

tobac commented on 2022-04-03 09:28 (UTC)

Thanks for bringing this to my attention and apologies for reacting late, I had actually fixed this a few weeks ago and forgot to do "git push".

javierbg commented on 2022-03-10 11:58 (UTC)

A fresh install gives the following error on startup associated to the pyparsing module version:

Traceback (most recent call last):
File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 573, in _build_master
    ws.require(__requires__)
File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 891, in require
    needed = self.resolve(parse_requirements(requirements))
File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 782, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (pyparsing 3.0.0 (/usr/lib/python3.10/site-packages), Requirement.parse('pyparsing==2.*'), {'fsleyes'})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/bin/fsleyes", line 33, in <module>
    sys.exit(load_entry_point('fsleyes==1.3.3', 'gui_scripts', 'fsleyes')())
File "/usr/lib/python3.10/site-packages/fsleyes/filtermain.py", line 210, in main
    result = fm.main(args)
File "/usr/lib/python3.10/site-packages/fsleyes/main.py", line 243, in main
    fsleyes.initialise()
File "/usr/lib/python3.10/site-packages/fsleyes/__init__.py", line 243, in initialise
    import fsleyes.plugins as plugins
File "/usr/lib/python3.10/site-packages/fsleyes/plugins/__init__.py", line 187, in <module>
    import                   pkg_resources
File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 3266, in <module>
    def _initialize_master_working_set():
File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 3240, in _call_aside
    f(*args, **kwargs)
File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 3278, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 575, in _build_master
    return cls._build_from_requirements(__requires__)
File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 588, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 777, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'pyparsing==2.*' distribution was not found and is required by fsleyes

The python-pyparsing package was recently updated to version 3.0 as of 2022-02-14.

I tried running the following in the system Python interpreter:

[javierbg-mj@javier-pc ~]$ python
Python 3.10.2 (main, Jan 15 2022, 19:56:27) [GCC 11.1.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import fsleyes.plugins as plugins
>>> 

But no error was thrown here.

Adding the following line to the PKGBUILD before install fixes it:

sed -i 's/pyparsing==2\.\*/pyparsing>=2.*/' requirements.txt

FSLeyes is running without problems now.

By the way, the jinja dependency has been changed from ==2.* to >=2.*, so the existing workaround now does nothing and doesn't appear to be necessary.

tobac commented on 2021-05-13 13:51 (UTC)

Added an ugly workaround. The few use cases I tested seemed to work fine. YMMV.

keiichiiownsu12 commented on 2021-05-12 23:35 (UTC)

Recent jinja update breaks fsleyes,

(truncated) pkg_resources.DistributionNotFound: The 'jinja2==2.*' distribution was not found and is required by fsleyes

tobac commented on 2021-05-04 19:33 (UTC)

This has to do with wxPython being outdated in Arch's repository. Installing wxPython with pip is a workaround until an up-to-date version gets packaged.

keiichiiownsu12 commented on 2021-05-04 17:52 (UTC)

Apologies for flurry of bug reports...

In the "Overlay list" panel, the "link", "save", and toggle-visibility buttons are not being displayed, nor are images shown in the list.

Loading one image gives the following traceback:

  import imp
/home/ajschadler12/.local/lib/python3.9/site-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (1.26.4) or chardet (4.0.0) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
 WARNING         callqueue.py  226: __call          - Function PropertyValue_overlays_OverlayListPanel_140182644755616 (OverlayList.overlays) raised exception: type object 'SystemSettings' has no attribute 'GetAppearance'
Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/fsleyes_props/callqueue.py", line 222, in __call
    call.func(*call.args, **call.kwargs)
  File "/usr/lib/python3.9/site-packages/fsleyes/controls/overlaylistpanel.py", line 254, in __overlayListChanged
    widget = ListItemWidget(self,
  File "/usr/lib/python3.9/site-packages/fsleyes/controls/overlaylistpanel.py", line 435, in __init__
    if wx.SystemSettings.GetAppearance().IsDark():
AttributeError: type object 'SystemSettings' has no attribute 'GetAppearance'
  File "/usr/bin/fsleyes", line 33, in <module>
    sys.exit(load_entry_point('fsleyes==1.0.3', 'gui_scripts', 'fsleyes')())
  File "/usr/lib/python3.9/site-packages/fsleyes/filtermain.py", line 204, in main
    result = fm.main(args)
  File "/usr/lib/python3.9/site-packages/fsleyes/main.py", line 451, in main
    app.MainLoop()
  File "/usr/lib/python3.9/site-packages/wx/core.py", line 2167, in MainLoop
    rv = wx.PyApp.MainLoop(self)
  File "/usr/lib/python3.9/site-packages/fsl/utils/idle.py", line 576, in __idleLoop
    task.task(*task.args, **task.kwargs)
  File "/usr/lib/python3.9/site-packages/fsleyes/actions/loadoverlay.py", line 252, in realOnLoad
    onLoad(pathIdxs, overlays)
  File "/usr/lib/python3.9/site-packages/fsleyes/actions/loadoverlay.py", line 79, in onLoad
    self.overlayList.extend(overlays)
  File "/usr/lib/python3.9/site-packages/fsleyes/overlay.py", line 309, in extend
    self.__initProps[overlay][propName] = val
  File "/usr/lib/python3.9/contextlib.py", line 124, in __exit__
    next(self.gen)
  File "/usr/lib/python3.9/site-packages/fsleyes_props/suppress.py", line 59, in suppress
    hasProps.propNotify(propName)
  File "/usr/lib/python3.9/site-packages/fsleyes_props/properties.py", line 898, in propNotify
    self.getPropVal(propName).propNotify()
  File "/usr/lib/python3.9/site-packages/fsleyes_props/properties_value.py", line 822, in propNotify
    bindable.syncAndNotify(self)
  File "/usr/lib/python3.9/site-packages/fsleyes_props/bindable.py", line 282, in syncAndNotify
    _callAllListeners([self] + allBpvs, False)
  File "/usr/lib/python3.9/site-packages/fsleyes_props/bindable.py", line 939, in _callAllListeners
    q.callAll(queued + held)
  File "/usr/lib/python3.9/site-packages/fsleyes_props/callqueue.py", line 170, in callAll
    self.__call()
  File "/usr/lib/python3.9/site-packages/fsleyes_props/callqueue.py", line 228, in __call
    traceback.print_stack()
 WARNING         callqueue.py  226: __call          - Function PropertyValue_overlayOrder_OverlayListPanel_140182644755616 (DisplayContext.overlayOrder) raised exception: type object 'SystemSettings' has no attribute 'GetAppearance'
Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/fsleyes_props/callqueue.py", line 222, in __call
    call.func(*call.args, **call.kwargs)
  File "/usr/lib/python3.9/site-packages/fsleyes/controls/overlaylistpanel.py", line 254, in __overlayListChanged
    widget = ListItemWidget(self,
  File "/usr/lib/python3.9/site-packages/fsleyes/controls/overlaylistpanel.py", line 435, in __init__
    if wx.SystemSettings.GetAppearance().IsDark():
AttributeError: type object 'SystemSettings' has no attribute 'GetAppearance'
  File "/usr/bin/fsleyes", line 33, in <module>
    sys.exit(load_entry_point('fsleyes==1.0.3', 'gui_scripts', 'fsleyes')())
  File "/usr/lib/python3.9/site-packages/fsleyes/filtermain.py", line 204, in main
    result = fm.main(args)
  File "/usr/lib/python3.9/site-packages/fsleyes/main.py", line 451, in main
    app.MainLoop()
  File "/usr/lib/python3.9/site-packages/wx/core.py", line 2167, in MainLoop
    rv = wx.PyApp.MainLoop(self)
  File "/usr/lib/python3.9/site-packages/fsl/utils/idle.py", line 576, in __idleLoop
    task.task(*task.args, **task.kwargs)
  File "/usr/lib/python3.9/site-packages/fsleyes/actions/loadoverlay.py", line 252, in realOnLoad
    onLoad(pathIdxs, overlays)
  File "/usr/lib/python3.9/site-packages/fsleyes/actions/loadoverlay.py", line 79, in onLoad
    self.overlayList.extend(overlays)
  File "/usr/lib/python3.9/site-packages/fsleyes/overlay.py", line 309, in extend
    self.__initProps[overlay][propName] = val
  File "/usr/lib/python3.9/contextlib.py", line 124, in __exit__
    next(self.gen)
  File "/usr/lib/python3.9/site-packages/fsleyes_props/suppress.py", line 59, in suppress
    hasProps.propNotify(propName)
  File "/usr/lib/python3.9/site-packages/fsleyes_props/properties.py", line 898, in propNotify
    self.getPropVal(propName).propNotify()
  File "/usr/lib/python3.9/site-packages/fsleyes_props/properties_value.py", line 822, in propNotify
    bindable.syncAndNotify(self)
  File "/usr/lib/python3.9/site-packages/fsleyes_props/bindable.py", line 282, in syncAndNotify
    _callAllListeners([self] + allBpvs, False)
  File "/usr/lib/python3.9/site-packages/fsleyes_props/bindable.py", line 939, in _callAllListeners
    q.callAll(queued + held)
  File "/usr/lib/python3.9/site-packages/fsleyes_props/callqueue.py", line 170, in callAll
    self.__call()
  File "/usr/lib/python3.9/site-packages/fsleyes_props/callqueue.py", line 228, in __call
    traceback.print_stack()

  dc.DrawText(line, x, y)

Loading a second image gives this traceback

 WARNING         callqueue.py  226: __call          - Function PropertyValue_overlays_OverlayListPanel_140182644755616 (OverlayList.overlays) raised exception: type object 'SystemSettings' has no attribute 'GetAppearance'
Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/fsleyes_props/callqueue.py", line 222, in __call
    call.func(*call.args, **call.kwargs)
  File "/usr/lib/python3.9/site-packages/fsleyes/controls/overlaylistpanel.py", line 254, in __overlayListChanged
    widget = ListItemWidget(self,
  File "/usr/lib/python3.9/site-packages/fsleyes/controls/overlaylistpanel.py", line 435, in __init__
    if wx.SystemSettings.GetAppearance().IsDark():
AttributeError: type object 'SystemSettings' has no attribute 'GetAppearance'
  File "/usr/bin/fsleyes", line 33, in <module>
    sys.exit(load_entry_point('fsleyes==1.0.3', 'gui_scripts', 'fsleyes')())
  File "/usr/lib/python3.9/site-packages/fsleyes/filtermain.py", line 204, in main
    result = fm.main(args)
  File "/usr/lib/python3.9/site-packages/fsleyes/main.py", line 451, in main
    app.MainLoop()
  File "/usr/lib/python3.9/site-packages/wx/core.py", line 2167, in MainLoop
    rv = wx.PyApp.MainLoop(self)
  File "/usr/lib/python3.9/site-packages/fsl/utils/idle.py", line 576, in __idleLoop
    task.task(*task.args, **task.kwargs)
  File "/usr/lib/python3.9/site-packages/fsleyes/actions/loadoverlay.py", line 252, in realOnLoad
    onLoad(pathIdxs, overlays)
  File "/usr/lib/python3.9/site-packages/fsleyes/actions/loadoverlay.py", line 79, in onLoad
    self.overlayList.extend(overlays)
  File "/usr/lib/python3.9/site-packages/fsleyes/overlay.py", line 309, in extend
    self.__initProps[overlay][propName] = val
  File "/usr/lib/python3.9/contextlib.py", line 124, in __exit__
    next(self.gen)
  File "/usr/lib/python3.9/site-packages/fsleyes_props/suppress.py", line 59, in suppress
    hasProps.propNotify(propName)
  File "/usr/lib/python3.9/site-packages/fsleyes_props/properties.py", line 898, in propNotify
    self.getPropVal(propName).propNotify()
  File "/usr/lib/python3.9/site-packages/fsleyes_props/properties_value.py", line 822, in propNotify
    bindable.syncAndNotify(self)
  File "/usr/lib/python3.9/site-packages/fsleyes_props/bindable.py", line 282, in syncAndNotify
    _callAllListeners([self] + allBpvs, False)
  File "/usr/lib/python3.9/site-packages/fsleyes_props/bindable.py", line 939, in _callAllListeners
    q.callAll(queued + held)
  File "/usr/lib/python3.9/site-packages/fsleyes_props/callqueue.py", line 170, in callAll
    self.__call()
  File "/usr/lib/python3.9/site-packages/fsleyes_props/callqueue.py", line 228, in __call
    traceback.print_stack()
 WARNING         callqueue.py  226: __call          - Function PropertyValue_overlayOrder_OverlayListPanel_140182644755616 (DisplayContext.overlayOrder) raised exception: type object 'SystemSettings' has no attribute 'GetAppearance'
Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/fsleyes_props/callqueue.py", line 222, in __call
    call.func(*call.args, **call.kwargs)
  File "/usr/lib/python3.9/site-packages/fsleyes/controls/overlaylistpanel.py", line 254, in __overlayListChanged
    widget = ListItemWidget(self,
  File "/usr/lib/python3.9/site-packages/fsleyes/controls/overlaylistpanel.py", line 435, in __init__
    if wx.SystemSettings.GetAppearance().IsDark():
AttributeError: type object 'SystemSettings' has no attribute 'GetAppearance'
  File "/usr/bin/fsleyes", line 33, in <module>
    sys.exit(load_entry_point('fsleyes==1.0.3', 'gui_scripts', 'fsleyes')())
  File "/usr/lib/python3.9/site-packages/fsleyes/filtermain.py", line 204, in main
    result = fm.main(args)
  File "/usr/lib/python3.9/site-packages/fsleyes/main.py", line 451, in main
    app.MainLoop()
  File "/usr/lib/python3.9/site-packages/wx/core.py", line 2167, in MainLoop
    rv = wx.PyApp.MainLoop(self)
  File "/usr/lib/python3.9/site-packages/fsl/utils/idle.py", line 576, in __idleLoop
    task.task(*task.args, **task.kwargs)
  File "/usr/lib/python3.9/site-packages/fsleyes/actions/loadoverlay.py", line 252, in realOnLoad
    onLoad(pathIdxs, overlays)
  File "/usr/lib/python3.9/site-packages/fsleyes/actions/loadoverlay.py", line 79, in onLoad
    self.overlayList.extend(overlays)
  File "/usr/lib/python3.9/site-packages/fsleyes/overlay.py", line 309, in extend
    self.__initProps[overlay][propName] = val
  File "/usr/lib/python3.9/contextlib.py", line 124, in __exit__
    next(self.gen)
  File "/usr/lib/python3.9/site-packages/fsleyes_props/suppress.py", line 59, in suppress
    hasProps.propNotify(propName)
  File "/usr/lib/python3.9/site-packages/fsleyes_props/properties.py", line 898, in propNotify
    self.getPropVal(propName).propNotify()
  File "/usr/lib/python3.9/site-packages/fsleyes_props/properties_value.py", line 822, in propNotify
    bindable.syncAndNotify(self)
  File "/usr/lib/python3.9/site-packages/fsleyes_props/bindable.py", line 282, in syncAndNotify
    _callAllListeners([self] + allBpvs, False)
  File "/usr/lib/python3.9/site-packages/fsleyes_props/bindable.py", line 939, in _callAllListeners
    q.callAll(queued + held)
  File "/usr/lib/python3.9/site-packages/fsleyes_props/callqueue.py", line 170, in callAll
    self.__call()
  File "/usr/lib/python3.9/site-packages/fsleyes_props/callqueue.py", line 228, in __call
    traceback.print_stack()
 WARNING         callqueue.py  226: __call          - Function PropertyValue_selectedOverlay_OverlayListPanel_140182644755616 (DisplayContext.selectedOverlay) raised exception: Index 1 out of bounds
Traceback (most recent call last):
  File "/usr/lib/python3.9/site-packages/fsleyes_props/callqueue.py", line 222, in __call
    call.func(*call.args, **call.kwargs)
  File "/usr/lib/python3.9/site-packages/fsleyes/controls/overlaylistpanel.py", line 219, in __selectedOverlayChanged
    self.__listBox.SetSelection(
  File "/usr/lib/python3.9/site-packages/fsleyes_widgets/elistbox.py", line 585, in SetSelection
    raise IndexError('Index {} out of bounds'.format(n))
IndexError: Index 1 out of bounds
  File "/usr/bin/fsleyes", line 33, in <module>
    sys.exit(load_entry_point('fsleyes==1.0.3', 'gui_scripts', 'fsleyes')())
  File "/usr/lib/python3.9/site-packages/fsleyes/filtermain.py", line 204, in main
    result = fm.main(args)
  File "/usr/lib/python3.9/site-packages/fsleyes/main.py", line 451, in main
    app.MainLoop()
  File "/usr/lib/python3.9/site-packages/wx/core.py", line 2167, in MainLoop
    rv = wx.PyApp.MainLoop(self)
  File "/usr/lib/python3.9/site-packages/fsl/utils/idle.py", line 576, in __idleLoop
    task.task(*task.args, **task.kwargs)
  File "/usr/lib/python3.9/site-packages/fsleyes/actions/loadoverlay.py", line 252, in realOnLoad
    onLoad(pathIdxs, overlays)
  File "/usr/lib/python3.9/site-packages/fsleyes/actions/loadoverlay.py", line 81, in onLoad
    self.displayCtx.selectedOverlay = self.displayCtx.overlayOrder[-1]
  File "/usr/lib/python3.9/site-packages/fsleyes_props/properties.py", line 430, in __set__
    propVal.set(value)
  File "/usr/lib/python3.9/site-packages/fsleyes_props/properties_value.py", line 814, in set
    self.propNotify()
  File "/usr/lib/python3.9/site-packages/fsleyes_props/properties_value.py", line 822, in propNotify
    bindable.syncAndNotify(self)
  File "/usr/lib/python3.9/site-packages/fsleyes_props/bindable.py", line 282, in syncAndNotify
    _callAllListeners([self] + allBpvs, False)
  File "/usr/lib/python3.9/site-packages/fsleyes_props/bindable.py", line 939, in _callAllListeners
    q.callAll(queued + held)
  File "/usr/lib/python3.9/site-packages/fsleyes_props/callqueue.py", line 170, in callAll
    self.__call()
  File "/usr/lib/python3.9/site-packages/fsleyes_props/callqueue.py", line 228, in __call
    traceback.print_stack()

Not sure if this is an upstream issue or not.

tobac commented on 2021-05-04 12:46 (UTC)

Fixed in fsleyes*; thanks.

keiichiiownsu12 commented on 2021-05-03 23:31 (UTC) (edited on 2021-05-03 23:41 (UTC) by keiichiiownsu12)

Source URL, https://git.fmrib.ox.ac.uk/fsl/fsleyes/fsleyes/repository/archive.tar.gz?ref=${pkgver}, redirects towards a login page. This URL, https://git.fmrib.ox.ac.uk/fsl/fsleyes/fsleyes/-/archive/${pkgver}/${pkgname}-${pkgver}.tar.gz, allows the tar.gz file to be downloaded.

A similar issue appears to be affecting the fslpy package as well...