-
Notifications
You must be signed in to change notification settings - Fork 253
Open
Description
Describe the bug
Monailabel depends on numpymaxflow which requires numpy version 1.26, which is not available for python versions past 3.12.
This dependency can break new installations unless the python version of the environment is forced to be <= 3.12 #1817 .
To Reproduce
Steps to reproduce the behavior with conda:
- Create a new environment:
conda create -n monailabel - Activate:
conda activate monailabel - Install python 3.13:
conda install python==3.13 - Install monailabel:
pip install monailabel
Output:
Collecting monailabel
Downloading monailabel-0.8.5-202411252313-py3-none-any.whl.metadata (23 kB)
Collecting monai>=1.4.0 (from monai[fire,gdown,ignite,itk,lmdb,mlflow,nibabel,openslide,pillow,psutil,skimage,tensorboard,torchvision,tqdm]>=1.4.0->monailabel)
Downloading monai-1.5.1-py3-none-any.whl.metadata (13 kB)
Collecting uvicorn>=0.29.0 (from monailabel)
Downloading uvicorn-0.38.0-py3-none-any.whl.metadata (6.8 kB)
Collecting pydantic>=2.7.0 (from monailabel)
Downloading pydantic-2.12.5-py3-none-any.whl.metadata (90 kB)
Collecting pydantic-settings>=2.2.1 (from monailabel)
Downloading pydantic_settings-2.12.0-py3-none-any.whl.metadata (3.4 kB)
Collecting python-dotenv>=1.0.1 (from monailabel)
Downloading python_dotenv-1.2.1-py3-none-any.whl.metadata (25 kB)
Collecting fastapi>=0.110.2 (from monailabel)
Downloading fastapi-0.125.0-py3-none-any.whl.metadata (30 kB)
Collecting python-multipart>=0.0.9 (from monailabel)
Downloading python_multipart-0.0.21-py3-none-any.whl.metadata (1.8 kB)
Collecting httpx>=0.27.0 (from monailabel)
Using cached httpx-0.28.1-py3-none-any.whl.metadata (7.1 kB)
Collecting schedule>=1.2.1 (from monailabel)
Downloading schedule-1.2.2-py3-none-any.whl.metadata (3.8 kB)
Collecting dicomweb-client>=0.59.1 (from dicomweb-client[gcp]>=0.59.1->monailabel)
Downloading dicomweb_client-0.60.1-py3-none-any.whl.metadata (3.5 kB)
Collecting timeloop>=1.0.2 (from monailabel)
Downloading timeloop-1.0.2.tar.gz (2.9 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting expiringdict>=1.2.2 (from monailabel)
Downloading expiringdict-1.2.2-py3-none-any.whl.metadata (3.7 kB)
Collecting expiring_dict>=1.1.0 (from monailabel)
Downloading expiring_dict-1.1.2-py3-none-any.whl.metadata (1.3 kB)
Collecting cachetools>=5.3.3 (from monailabel)
Downloading cachetools-6.2.4-py3-none-any.whl.metadata (5.6 kB)
Collecting watchdog>=4.0.0 (from monailabel)
Downloading watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (44 kB)
Collecting pydicom>=2.4.4 (from monailabel)
Downloading pydicom-3.0.1-py3-none-any.whl.metadata (9.4 kB)
Collecting pydicom-seg>=0.4.1 (from monailabel)
Downloading pydicom_seg-0.4.1-py3-none-any.whl.metadata (5.2 kB)
Collecting pynetdicom>=2.0.2 (from monailabel)
Downloading pynetdicom-3.0.4-py3-none-any.whl.metadata (24 kB)
Collecting pynrrd>=1.0.0 (from monailabel)
Downloading pynrrd-1.1.3-py3-none-any.whl.metadata (5.4 kB)
Collecting numpymaxflow>=0.0.7 (from monailabel)
Downloading numpymaxflow-0.0.7.tar.gz (14 kB)
Installing build dependencies ... error
error: subprocess-exited-with-error
× installing build dependencies for numpymaxflow did not run successfully.
│ exit code: 1
╰─> [5 lines of output]
Collecting setuptools
Using cached setuptools-80.9.0-py3-none-any.whl.metadata (6.6 kB)
ERROR: Ignored the following versions that require a different python version: 1.21.2 Requires-Python >=3.7,<3.11; 1.21.3 Requires-Python >=3.7,<3.11; 1.21.4 Requires-Python >=3.7,<3.11; 1.21.5 Requires-Python >=3.7,<3.11; 1.21.6 Requires-Python >=3.7,<3.11; 1.26.0 Requires-Python >=3.9,<3.13; 1.26.1 Requires-Python >=3.9,<3.13
ERROR: Could not find a version that satisfies the requirement numpy==1.26.0 (from versions: 1.3.0, 1.4.1, 1.5.0, 1.5.1, 1.6.0, 1.6.1, 1.6.2, 1.7.0, 1.7.1, 1.7.2, 1.8.0, 1.8.1, 1.8.2, 1.9.0, 1.9.1, 1.9.2, 1.9.3, 1.10.0.post2, 1.10.1, 1.10.2, 1.10.4, 1.11.0, 1.11.1, 1.11.2, 1.11.3, 1.12.0, 1.12.1, 1.13.0, 1.13.1, 1.13.3, 1.14.0, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.14.5, 1.14.6, 1.15.0, 1.15.1, 1.15.2, 1.15.3, 1.15.4, 1.16.0, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.16.6, 1.17.0, 1.17.1, 1.17.2, 1.17.3, 1.17.4, 1.17.5, 1.18.0, 1.18.1, 1.18.2, 1.18.3, 1.18.4, 1.18.5, 1.19.0, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.19.5, 1.20.0, 1.20.1, 1.20.2, 1.20.3, 1.21.0, 1.21.1, 1.22.0, 1.22.1, 1.22.2, 1.22.3, 1.22.4, 1.23.0, 1.23.1, 1.23.2, 1.23.3, 1.23.4, 1.23.5, 1.24.0, 1.24.1, 1.24.2, 1.24.3, 1.24.4, 1.25.0, 1.25.1, 1.25.2, 1.26.2, 1.26.3, 1.26.4, 2.0.0, 2.0.1, 2.0.2, 2.1.0, 2.1.1, 2.1.2, 2.1.3, 2.2.0, 2.2.1, 2.2.2, 2.2.3, 2.2.4, 2.2.5, 2.2.6, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.3.5, 2.4.0rc1)
ERROR: No matching distribution found for numpy==1.26.0
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed to build 'numpymaxflow' when installing build dependencies for numpymaxflow
Expected behavior
Monailabel should be compatible with newer versions of python and numpy.
Additional details
Numpymaxflow was last updated in October 2024 (https://github.com/masadcv/numpymaxflow/commits/main/).
There is an open feature request from October 2024 on Numpymaxflow to upgrade to compatibility with Numpy 2, but the maintainer does not seem to be responding to comments (masadcv/numpymaxflow#22).
coderabbitai
Metadata
Metadata
Assignees
Labels
No labels