Skip to content

[BUG]: Installation process is broken #1380

@gsuberland

Description

@gsuberland

Description

The installation steps simply say to run pip install colour-science. This installs 0.3.16, which gives the following error:

>>> import colour
Traceback (most recent call last):
  File "<python-input-0>", line 1, in <module>
    import colour
  File "C:\Users\Graham\AppData\Local\Programs\Python\Python314\Lib\site-packages\colour\__init__.py", line 52, in <module>
    from .utilities.deprecation import ModuleAPI, build_API_changes
  File "C:\Users\Graham\AppData\Local\Programs\Python\Python314\Lib\site-packages\colour\utilities\__init__.py", line 9, in <module>
    from .common import (
    ...<9 lines>...
        from_range_int, copy_definition)
  File "C:\Users\Graham\AppData\Local\Programs\Python\Python314\Lib\site-packages\colour\utilities\common.py", line 33, in <module>
    from colour.constants import INTEGER_THRESHOLD, DEFAULT_FLOAT_DTYPE
  File "C:\Users\Graham\AppData\Local\Programs\Python\Python314\Lib\site-packages\colour\constants\__init__.py", line 8, in <module>
    from .common import (FLOATING_POINT_NUMBER_PATTERN, INTEGER_THRESHOLD, EPSILON,
                         DEFAULT_FLOAT_DTYPE, DEFAULT_INT_DTYPE)
  File "C:\Users\Graham\AppData\Local\Programs\Python\Python314\Lib\site-packages\colour\constants\common.py", line 46, in <module>
    EPSILON = np.finfo(np.float_).eps
                       ^^^^^^^^^
  File "C:\Users\Graham\AppData\Local\Programs\Python\Python314\Lib\site-packages\numpy\__init__.py", line 794, in __getattr__
    raise AttributeError(
    ...<3 lines>...
    )
AttributeError: `np.float_` was removed in the NumPy 2.0 release. Use `np.float64` instead.

This seems to have been resolved in #1121, but since a regular release hasn't been done since then it's still causing problems.

Attempting to install 0.4.6 explicitly in Python 3.14.0 fails:

py -m pip install --user --pre --upgrade "colour-science>=0.4.6"
ERROR: Ignored the following versions that require a different python version: 0.4.0 Requires-Python >=3.8,<3.11; 0.4.1 Requires-Python >=3.8,<3.11; 0.4.2 Requires-Python >=3.9,<3.12; 0.4.3 Requires-Python >=3.9,<3.12; 0.4.4 Requires-Python >=3.9,<3.13; 0.4.5 Requires-Python >=3.10,<3.14; 0.4.6 Requires-Python >=3.10,<3.14
ERROR: Could not find a version that satisfies the requirement colour-science>=0.4.6 (from versions: 0.3.0, 0.3.1, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.6, 0.3.7, 0.3.8, 0.3.9, 0.3.10, 0.3.11, 0.3.12, 0.3.13, 0.3.14, 0.3.15, 0.3.16)
ERROR: No matching distribution found for colour-science>=0.4.6

I installed on Python 3.11.3 using python -m pip install --user --pre --upgrade "colour-science>=0.4.6". However, trying to import now brings a new error:

>>> import colour
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Graham\AppData\Roaming\Python\Python311\site-packages\colour\__init__.py", line 72, in <module>
    from colour import plotting  # noqa: F401
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Graham\AppData\Roaming\Python\Python311\site-packages\colour\plotting\__init__.py", line 1, in <module>
    from colour.utilities import is_matplotlib_installed
  File "C:\Users\Graham\AppData\Roaming\Python\Python311\site-packages\colour\utilities\__init__.py", line 132, in <module>
    from .metrics import metric_mse, metric_psnr
  File "C:\Users\Graham\AppData\Roaming\Python\Python311\site-packages\colour\utilities\metrics.py", line 23, in <module>
    from colour.algebra import sdiv, sdiv_mode
  File "C:\Users\Graham\AppData\Roaming\Python\Python311\site-packages\colour\algebra\__init__.py", line 32, in <module>
    from .interpolation import (
  File "C:\Users\Graham\AppData\Roaming\Python\Python311\site-packages\colour\algebra\interpolation.py", line 67, in <module>
    import scipy.interpolate
  File "C:\Python311\Lib\site-packages\scipy\interpolate\__init__.py", line 192, in <module>
    from ._interpolate import *
  File "C:\Python311\Lib\site-packages\scipy\interpolate\_interpolate.py", line 8, in <module>
    import scipy.special as spec
  File "C:\Python311\Lib\site-packages\scipy\special\__init__.py", line 790, in <module>
    from . import _basic
  File "C:\Python311\Lib\site-packages\scipy\special\_basic.py", line 22, in <module>
    from ._multiufuncs import (assoc_legendre_p_all,
  File "C:\Python311\Lib\site-packages\scipy\special\_multiufuncs.py", line 142, in <module>
    sph_legendre_p = MultiUFunc(
                     ^^^^^^^^^^^
  File "C:\Python311\Lib\site-packages\scipy\special\_multiufuncs.py", line 41, in __init__
    raise ValueError("All ufuncs must have type `numpy.ufunc`."
ValueError: All ufuncs must have type `numpy.ufunc`. Received (<ufunc 'sph_legendre_p'>, <ufunc 'sph_legendre_p'>, <ufunc 'sph_legendre_p'>)
>>>

Code for Reproduction

Exception Message

Environment Information

Windows 10 x64, Python 3.11.3 and Python 3.14.0

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions