TypeError: load() missing 1 required positional argument: 'Loader' when importing felzenszwalb, slic, quickshift, watershed from skimage.segmentation

Question:

I was trying to run the simple test script of skimage for superpixels segmentation. However, when I executed the code (python -m src), I got this error:

Traceback (most recent call last):
  File "C:Usersnicolanaconda3envscvProjectlibrunpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:Usersnicolanaconda3envscvProjectlibrunpy.py", line 85, in _run_code  
    exec(code, run_globals)
  File "C:UsersnicolDocumentsCS3ACVcomputer-vision-gansrc__main__.py", line 8, in <module>
    from src.transformers import (
  File "C:UsersnicolDocumentsCS3ACVcomputer-vision-gansrctransformers__init__.py", line 7, in <module>
    from src.transformers.transformers_super_pixels import *
  File "C:UsersnicolDocumentsCS3ACVcomputer-vision-gansrctransformerstransformers_super_pixels.py", line 3, in <module>
    from skimage.segmentation import slic
  File "C:Usersnicolanaconda3envscvProjectlibsite-packagesskimagesegmentation__init__.py", line 2, in <module>
    from .active_contour_model import active_contour
  File "C:Usersnicolanaconda3envscvProjectlibsite-packagesskimagesegmentationactive_contour_model.py", line 5, in <module>
    from ..filters import sobel
  File "C:Usersnicolanaconda3envscvProjectlibsite-packagesskimagefilters__init__.py", line 4, in <module>
    from .edges import (sobel, sobel_h, sobel_v,
  File "C:Usersnicolanaconda3envscvProjectlibsite-packagesskimagefiltersedges.py", line 18, in <module>
    from ..restoration.uft import laplacian
  File "C:Usersnicolanaconda3envscvProjectlibsite-packagesskimagerestoration__init__.py", line 9, in <module>
    from ._cycle_spin import cycle_spin
  File "C:Usersnicolanaconda3envscvProjectlibsite-packagesskimagerestoration_cycle_spin.py", line 6, in <module>
    import dask
  File "C:Usersnicolanaconda3envscvProjectlibsite-packagesdask__init__.py", line 3, in <module>
    from . import config, datasets
  File "C:Usersnicolanaconda3envscvProjectlibsite-packagesdaskconfig.py", line 512, in <module>
    refresh()
  File "C:Usersnicolanaconda3envscvProjectlibsite-packagesdaskconfig.py", line 411, in refresh
    update(config, collect(**kwargs))
  File "C:Usersnicolanaconda3envscvProjectlibsite-packagesdaskconfig.py", line 375, in collect
    configs.extend(collect_yaml(paths=paths))
  File "C:Usersnicolanaconda3envscvProjectlibsite-packagesdaskconfig.py", line 168, in collect_yaml
    data = yaml.load(f.read()) or {}
TypeError: load() missing 1 required positional argument: 'Loader'
make: *** [Makefile:7: run] Error 1
(cvProject) PS C:UsersnicolDocumentsCS3ACVcomputer-vision-gan> python -m src 
Traceback (most recent call last):
  File "C:Usersnicolanaconda3envscvProjectlibrunpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:Usersnicolanaconda3envscvProjectlibrunpy.py", line 85, in _run_code  
    exec(code, run_globals)
  File "C:UsersnicolDocumentsCS3ACVcomputer-vision-gansrc__main__.py", line 8, in <module>
    from src.transformers import (
  File "C:UsersnicolDocumentsCS3ACVcomputer-vision-gansrctransformers__init__.py", line 7, in <module>
    from src.transformers.transformers_super_pixels import *
  File "C:UsersnicolDocumentsCS3ACVcomputer-vision-gansrctransformerstransformers_super_pixels.py", line 3, in <module>
    from skimage.segmentation import slic
  File "C:Usersnicolanaconda3envscvProjectlibsite-packagesskimagesegmentation__init__.py", line 2, in <module>
    from .active_contour_model import active_contour
  File "C:Usersnicolanaconda3envscvProjectlibsite-packagesskimagesegmentationactive_contour_model.py", line 5, in <module>
    from ..filters import sobel
  File "C:Usersnicolanaconda3envscvProjectlibsite-packagesskimagefilters__init__.py", line 4, in <module>
    from .edges import (sobel, sobel_h, sobel_v,
  File "C:Usersnicolanaconda3envscvProjectlibsite-packagesskimagefiltersedges.py", line 18, in <module>
    from ..restoration.uft import laplacian
  File "C:Usersnicolanaconda3envscvProjectlibsite-packagesskimagerestoration__init__.py", line 9, in <module>
    from ._cycle_spin import cycle_spin
  File "C:Usersnicolanaconda3envscvProjectlibsite-packagesskimagerestoration_cycle_spin.py", line 6, in <module>
    import dask
  File "C:Usersnicolanaconda3envscvProjectlibsite-packagesdask__init__.py", line 3, in <module>
    from . import config, datasets
  File "C:Usersnicolanaconda3envscvProjectlibsite-packagesdaskconfig.py", line 512, in <module>
    refresh()
  File "C:Usersnicolanaconda3envscvProjectlibsite-packagesdaskconfig.py", line 411, in refresh
    update(config, collect(**kwargs))
  File "C:Usersnicolanaconda3envscvProjectlibsite-packagesdaskconfig.py", line 375, in collect
    configs.extend(collect_yaml(paths=paths))
  File "C:Usersnicolanaconda3envscvProjectlibsite-packagesdaskconfig.py", line 168, in collect_yaml
    data = yaml.load(f.read()) or {}
TypeError: load() missing 1 required positional argument: 'Loader'

My conda environnement was installed from this requirements.txt file:

opencv-python==4.5.4.60
nptyping==1.4.4
numpy===1.21.3
tqdm==4.62.3
matplotlib==3.3.2
pandas==1.3.5
scikit-image==0.17.2

How is it possible to solve this error?

Asked By: Nicolas

||

Answers:

The error comes from the dask package version (see link to github package issue fix).
Thus, it is required to install distributed==2022.01.0.

pip install distributed==2022.01.0

Answered By: Nicolas
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.