royerlab / aydin

Aydin — User-friendly, Fast, Self-Supervised Image Denoising for All.
https://royerlab.github.io/aydin/
BSD 3-Clause "New" or "Revised" License
150 stars 14 forks source link

aydin fails to install on Windows #303

Open nztao opened 8 months ago

nztao commented 8 months ago

Describe the bug Installing aydin via conda or pip on a Windows installation fails because of an incompatibility error with napari and pydantic.

To Reproduce Steps to reproduce the behavior:

  1. Run conda installation instructions from (https://github.com/royerlab/aydin).
  2. Run aydin in the bash.

Expected behavior A clear and concise description of what you expected to happen. Expect aydin GUI, but instead the following error appears:

> [...]
>     raise AttributeError(f'module {module!r} has no attribute {name!r}')                                                                                                                                                                                                                                                                                  AttributeError: module 'pydantic.main' has no attribute 'ModelMetaclass'

Screenshots If applicable, add screenshots to help explain your problem. image

Desktop (please complete the following information):

Additional context Add any other context about the problem here.

Running pip install napari --upgrade resolves the issue.

pmascalchi commented 3 months ago

Having the same issue trying to run Aydin as standalone (in similar environment). Any other possible fix found by anyone? Thanks,

IanWardell commented 3 months ago

Similar problem on my end: Desktop (please complete the following information): Windows 11 Education Version GPU: NVIDIA GeForce RTX 3090 powershell, conda, pip

Additional context Ill start by saying the windows install exe works fine,its the CLI that wasn't working.

fixed with pip install napari --upgrade

error:

(aydin_env) PS T:\Cam-Denoise> aydin info .\Images-To-Denoise\00001-capture.jpg Traceback (most recent call last): File "C:\Users\GOOD-USER\anaconda3\envs\aydin_env\lib\runpy.py", line 197, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\Users\GOOD-USER\anaconda3\envs\aydin_env\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\GOOD-USER\anaconda3\envs\aydin_env\Scripts\aydin.exe\__main__.py", line 4, in <module> File "C:\Users\GOOD-USER\anaconda3\envs\aydin_env\lib\site-packages\aydin\__init__.py", line 1, in <module> from aydin.restoration.denoise.noise2selffgr import noise2self_fgr # noqa: F401 File "C:\Users\GOOD-USER\anaconda3\envs\aydin_env\lib\site-packages\aydin\restoration\denoise\noise2selffgr.py", line 8, in <module> from aydin.features.standard_features import StandardFeatureGenerator File "C:\Users\GOOD-USER\anaconda3\envs\aydin_env\lib\site-packages\aydin\features\standard_features.py", line 5, in <module> from aydin.features.groups.lowpass import LowPassFeatures File "C:\Users\GOOD-USER\anaconda3\envs\aydin_env\lib\site-packages\aydin\features\groups\lowpass.py", line 5, in <module> from aydin.it.classic_denoisers.butterworth import denoise_butterworth File "C:\Users\GOOD-USER\anaconda3\envs\aydin_env\lib\site-packages\aydin\it\classic_denoisers\butterworth.py", line 13, in <module> from aydin.util.j_invariance.j_invariance import calibrate_denoiser File "C:\Users\GOOD-USER\anaconda3\envs\aydin_env\lib\site-packages\aydin\util\j_invariance\j_invariance.py", line 7, in <module> from aydin.util.j_invariance.losses import mean_squared_error, mean_absolute_error File "C:\Users\GOOD-USER\anaconda3\envs\aydin_env\lib\site-packages\aydin\util\j_invariance\losses.py", line 3, in <module> from skimage.metrics import structural_similarity File "C:\Users\GOOD-USER\anaconda3\envs\aydin_env\lib\site-packages\skimage\__init__.py", line 121, in <module> from ._shared import geometry File "skimage\_shared\geometry.pyx", line 1, in init skimage._shared.geometry ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject

manerotoni commented 1 month ago

I can confirm to have issues when installing on Windows10.

Traceback (most recent call last):
  File "C:\Users\apoliti\Miniconda3\envs\aydin_env\lib\runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\apoliti\Miniconda3\envs\aydin_env\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Users\apoliti\Miniconda3\envs\aydin_env\Scripts\aydin.exe\__main__.py", line 4, in <module>
  File "C:\Users\apoliti\Miniconda3\envs\aydin_env\lib\site-packages\aydin\__init__.py", line 1, in <module>
    from aydin.restoration.denoise.noise2selffgr import noise2self_fgr  # noqa: F401
  File "C:\Users\apoliti\Miniconda3\envs\aydin_env\lib\site-packages\aydin\restoration\denoise\noise2selffgr.py", line 8, in <module>
    from aydin.features.standard_features import StandardFeatureGenerator
  File "C:\Users\apoliti\Miniconda3\envs\aydin_env\lib\site-packages\aydin\features\standard_features.py", line 5, in <module>
    from aydin.features.groups.lowpass import LowPassFeatures
  File "C:\Users\apoliti\Miniconda3\envs\aydin_env\lib\site-packages\aydin\features\groups\lowpass.py", line 5, in <module>
    from aydin.it.classic_denoisers.butterworth import denoise_butterworth
  File "C:\Users\apoliti\Miniconda3\envs\aydin_env\lib\site-packages\aydin\it\classic_denoisers\butterworth.py", line 13, in <module>
    from aydin.util.j_invariance.j_invariance import calibrate_denoiser
  File "C:\Users\apoliti\Miniconda3\envs\aydin_env\lib\site-packages\aydin\util\j_invariance\j_invariance.py", line 7, in <module>
    from aydin.util.j_invariance.losses import mean_squared_error, mean_absolute_error
  File "C:\Users\apoliti\Miniconda3\envs\aydin_env\lib\site-packages\aydin\util\j_invariance\losses.py", line 3, in <module>
    from skimage.metrics import structural_similarity
  File "C:\Users\apoliti\Miniconda3\envs\aydin_env\lib\site-packages\skimage\__init__.py", line 121, in <module>
    from ._shared import geometry
  File "skimage\_shared\geometry.pyx", line 1, in init skimage._shared.geometry
ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject

The command pip install napari --upgrade fixes the problem (why??) although the install mention compatibilities issues

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
aydin 0.1.15 requires imageio==2.21.1, but you have imageio 2.35.1 which is incompatible.
aydin 0.1.15 requires napari==0.4.15, but you have napari 0.5.2 which is incompatible.
aydin 0.1.15 requires scikit-image==0.18.3, but you have scikit-image 0.24.0 which is incompatible.