After the release of setuptools 60.0.3 yesterday, all the Python 3.7 and 3.8 tests started failing on Dask. This is because the versions of pandas and numpy in those envs hadn't yet moved to using packaging.version. This is the error:
py.test dask --runslow --cov=dask --cov-report=xml -n4
ImportError while loading conftest '/home/runner/work/dask/dask/conftest.py'.
conftest.py:28: in <module>
import pandas # noqa: F401
/usr/share/miniconda3/envs/test-environment/lib/python3.7/site-packages/pandas/__init__.py:22: in <module>
from pandas.compat.numpy import (
/usr/share/miniconda3/envs/test-environment/lib/python3.7/site-packages/pandas/compat/numpy/__init__.py:10: in <module>
_nlv = LooseVersion(_np_version)
/usr/share/miniconda3/envs/test-environment/lib/python3.7/site-packages/setuptools/_distutils/version.py:57: in __init__
stacklevel=2,
E DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
Error: Process completed with exit code 4.
It feels like this could be fixed on the conda-forge side, but I think the correct fix would be to update all the old recipes for all packages and explicitly add setuptools with a ceiling. But that seems impossible.
Here is the dask PR where I am setting a ceiling on setuptools for these older envs: dask/dask#8509
After the release of setuptools 60.0.3 yesterday, all the Python 3.7 and 3.8 tests started failing on Dask. This is because the versions of pandas and numpy in those envs hadn't yet moved to using
packaging.version. This is the error:py.test dask --runslow --cov=dask --cov-report=xml -n4 ImportError while loading conftest '/home/runner/work/dask/dask/conftest.py'. conftest.py:28: in <module> import pandas # noqa: F401 /usr/share/miniconda3/envs/test-environment/lib/python3.7/site-packages/pandas/__init__.py:22: in <module> from pandas.compat.numpy import ( /usr/share/miniconda3/envs/test-environment/lib/python3.7/site-packages/pandas/compat/numpy/__init__.py:10: in <module> _nlv = LooseVersion(_np_version) /usr/share/miniconda3/envs/test-environment/lib/python3.7/site-packages/setuptools/_distutils/version.py:57: in __init__ stacklevel=2, E DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead. Error: Process completed with exit code 4.It feels like this could be fixed on the conda-forge side, but I think the correct fix would be to update all the old recipes for all packages and explicitly add setuptools with a ceiling. But that seems impossible.
Here is the dask PR where I am setting a ceiling on setuptools for these older envs: dask/dask#8509