Dear @mlif,
Thank you so much for reporting this error. This is the first time we have seen this error! For posterity, I am just going to repeat the full error here:
WARNING: Ignoring version 1.5.0 of dipy since it has invalid metadata:
# Requested dipy==1.5.0 from https://files.pythonhosted.org/packages/4d/ff/933d40f73187c3e1996e833d8fe20c0863130e8d881e09bba14449a42e85/dipy-1.5.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (from -r requirements-freeze.txt (line 17))
# has invalid metadata: Expected matching RIGHT_PARENTHESIS for LEFT_PARENTHESIS, after version specifier
fury (>=0.8.0scikit-learn) ; extra == 'all'
~~~~~~~~^
Please use pip<24.1 if you need to use this version.
ERROR: Ignored the following versions that require a different python version: 1.3.1 Requires-Python >=3.10
ERROR: Could not find a version that satisfies the requirement dipy==1.5.0 (from versions: 0.5.0, 0.6.0, 0.7.0, 0.7.1, 0.8.0, 0.9.1, 0.9.2, 0.10.1, 0.11.0, 0.12.0, 0.13.0, 0.14.0, 0.15.0, 0.16.0, 1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.4.1, 1.5.0, 1.6.0, 1.7.0, 1.8.0, 1.9.0)
ERROR: No matching distribution found for dipy==1.5.0
I am guessing what happened is that, in the past, 6.1 used pip<24.1. But, then pip 24.1 was released (after 6.1), and retroactively made it incompatible with the old version of dipy
that 6.1 uses.
To fix this problem, you can tweak the installation script to make the following change to line 608:
# Before
python/envs/venv_sct/bin/python -m pip install -U "pip!=21.2.*"
# After
python/envs/venv_sct/bin/python -m pip install -U "pip!=21.2.*,<24.1"
This should install the proper version of pip and allow compatibility with dipy==1.5.0.
We will also try to backport this fix to the installer script hosted on SCT’s page so that future users won’t run into this issue.
Kind regards,
Joshua