napari-spatialdata icon indicating copy to clipboard operation
napari-spatialdata copied to clipboard

RuntimeError when trying to run napari-spatialdata

Open royassis opened this issue 7 months ago • 0 comments

Hey

I've installed napari-spatialdata in a new conda env like so pip install napari-spatialdata[all]. I am getting this error when running napari --plugin napari-spatialdata <dataset-name>.

Env:

  • windows11
  • Python 3.11.12
 napari --plugin napari-spatialdata <dataset-name>
Traceback (most recent call last):
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\npe2\_command_registry.py", line 32, in resolve
    self.function = utils.import_python_name(self.python_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\npe2\manifest\utils.py", line 260, in import_python_name
    mod = import_module(module_name)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\napari_spatialdata\__init__.py", line 15, in <module>
    from napari_spatialdata._interactive import Interactive as Interactive  # noqa: E402
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\napari_spatialdata\_interactive.py", line 8, in <module>
    from spatialdata._types import ArrayLike
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\spatialdata\__init__.py", line 6, in <module>
    import dask.dataframe as dd
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\dask\dataframe\__init__.py", line 81, in <module>
    from dask.dataframe import backends, dispatch, rolling
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\dask\dataframe\backends.py", line 15, in <module>
    from dask.dataframe.core import DataFrame, Index, Scalar, Series, _Frame
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\dask\dataframe\core.py", line 36, in <module>
    from dask.dataframe import methods
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\dask\dataframe\methods.py", line 34, in <module>
    from dask.dataframe.utils import is_dataframe_like, is_index_like, is_series_like
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\dask\dataframe\utils.py", line 20, in <module>
    from dask.dataframe import (  # noqa: F401 register pandas extension types
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\dask\dataframe\_dtypes.py", line 9, in <module>
    from dask.dataframe.extensions import make_array_nonempty, make_scalar
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\dask\dataframe\extensions.py", line 8, in <module>
    from dask.dataframe.accessor import (
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\dask\dataframe\accessor.py", line 126, in <module>
    class DatetimeAccessor(Accessor):
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\dask\dataframe\accessor.py", line 81, in __init_subclass__
    _bind_property(cls, pd_cls, attr, min_version)
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\dask\dataframe\accessor.py", line 35, in _bind_property
    setattr(cls, attr, property(derived_from(pd_cls, version=min_version)(func)))
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\dask\utils.py", line 856, in wrapper
    method.__doc__ = _derived_from(
                     ^^^^^^^^^^^^^^
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\dask\utils.py", line 809, in _derived_from
    method_args = get_named_args(method)
                  ^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\dask\utils.py", line 570, in get_named_args
    s = inspect.signature(func)
        ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\inspect.py", line 3263, in signature
    return Signature.from_callable(obj, follow_wrapped=follow_wrapped,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\inspect.py", line 3011, in from_callable
    return _signature_from_callable(obj, sigcls=cls,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\inspect.py", line 2599, in _signature_from_callable
    call = _descriptor_get(call, obj)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\inspect.py", line 2432, in _descriptor_get
    return get(descriptor, obj, type(obj))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: descriptor '__call__' for 'type' objects doesn't apply to a 'property' object

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Scripts\napari.exe\__main__.py", line 7, in <module>
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\napari\__main__.py", line 584, in main
    _run()
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\napari\__main__.py", line 348, in _run
    viewer._window._qt_viewer._qt_open(
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\napari\_qt\qt_viewer.py", line 981, in _qt_open
    self.viewer.open(
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\napari\components\viewer_model.py", line 1228, in open
    self._add_layers_with_plugins(
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\napari\components\viewer_model.py", line 1428, in _add_layers_with_plugins
    layer_data, hookimpl = read_data_with_plugins(
                           ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\napari\plugins\io.py", line 78, in read_data_with_plugins
    res = _npe2.read(paths, plugin, stack=stack)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\napari\plugins\_npe2.py", line 57, in read
    layer_data, reader = io_utils.read_get_reader(
                         ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\npe2\io_utils.py", line 66, in read_get_reader
    return _read(
           ^^^^^^
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\npe2\io_utils.py", line 165, in _read
    read_func = rdr.exec(
                ^^^^^^^^^
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\npe2\manifest\contributions\_readers.py", line 61, in exec
    callable_ = super().exec(args=args, kwargs=kwargs, _registry=_registry)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\npe2\manifest\utils.py", line 61, in exec
    return self.get_callable(reg)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\npe2\manifest\utils.py", line 71, in get_callable
    return _registry.get(self.command)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\npe2\_command_registry.py", line 138, in get
    return self._commands[id].resolve()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\roya\AppData\Local\anaconda3\envs\napari-env\Lib\site-packages\npe2\_command_registry.py", line 34, in resolve
    raise RuntimeError(
RuntimeError: Failed to import command at 'napari_spatialdata:get_reader': descriptor '__call__' for 'type' objects doesn't apply to a 'property' object
WARNING: QThread: Destroyed while thread is still running
13:44:08 : WARNING : MainThread : QThread: Destroyed while thread is still running

royassis avatar May 04 '25 10:05 royassis