Skip to content

Windows: conda install conda-forge::datalab is broken #99

@PierreRaybaut

Description

@PierreRaybaut

Here is the output:

➜ pixi global install datalab
✔ Installed package datalab 0.17.0 pyhd8ed1ab_0 from conda-forge
  These executables are now globally available:
   -  cdl.bat
   -  cdl-demo.bat
   -  cdl-tests.bat
➜ cdl
Traceback (most recent call last):
  File "C:\Users\------\.pixi\envs\datalab\Scripts\cdl-script.py", line 6, in <module>
    from cdl.app import run
  File "C:\Users\------\.pixi\envs\datalab\Lib\site-packages\cdl\app.py", line 15, in <module>
    from cdl.core.gui.main import CDLMainWindow
  File "C:\Users\------\.pixi\envs\datalab\Lib\site-packages\cdl\core\gui\main.py", line 54, in <module>
    from cdl.core.baseproxy import AbstractCDLControl
  File "C:\Users\------\.pixi\envs\datalab\Lib\site-packages\cdl\core\baseproxy.py", line 35, in <module>
    from cdl.obj import ImageObj, SignalObj
  File "C:\Users\------\.pixi\envs\datalab\Lib\site-packages\cdl\obj.py", line 82, in <module>
    from cdl.core.io import read_image, read_images, read_signal, read_signals
  File "C:\Users\------\.pixi\envs\datalab\Lib\site-packages\cdl\core\io\__init__.py", line 10, in <module>
    import cdl.core.io.h5  # pylint: disable=unused-import
    ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\------\.pixi\envs\datalab\Lib\site-packages\cdl\core\io\h5\__init__.py", line 11, in <module>
    from cdl.core.io.h5 import generic  # noqa: F401
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\------\.pixi\envs\datalab\Lib\site-packages\cdl\core\io\h5\generic.py", line 13, in <module>
    from cdl.core.model.image import create_image
  File "C:\Users\------\.pixi\envs\datalab\Lib\site-packages\cdl\core\model\image.py", line 30, in <module>
    from cdl.algorithms.image import scale_data_to_min_max
  File "C:\Users\------\.pixi\envs\datalab\Lib\site-packages\cdl\algorithms\image.py", line 13, in <module>
    import cv2
ImportError: DLL load failed while importing cv2: La procédure spécifiée est introuvable.

Apparently, this is due to the fact that the OpenCV Conda package itself is broken:

OpenCV team does not maintain Anacoda packages, pip packages only. Looks like your OpenCV installation is not complete or broken. You can trace OpenCV loading process by setting sys.OpenCV_LOADER_DEBUG = 1 before the library import.

Originally posted by @asmorkalov in opencv/opencv-python#976 (comment)

Also, it works fine on Linux.

Solution
The only solution is to handle this dependency as optional in DataLab, so that, if the OpenCV is not installed or not importable, DataLab will start but without the OpenCV's related features.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions