scrublet
scrublet copied to clipboard
issue with `_validate_lengths`: needed to downgrade to `numpy 1.15`
When doing from numpy.lib.arraypad import _validate_lengths
I'm getting the following error:
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-6-30d1a12bd26c> in <module>
----> 1 from numpy.lib.arraypad import _validate_lengths
ImportError: cannot import name '_validate_lengths'
even after force-reinstalling scikit-image and numpy.
pip install scikit-image --force-reinstall
Successfully installed PyWavelets-1.0.2 cloudpickle-0.8.0 cycler-0.10.0 dask-1.1.3 decorator-4.3.2 kiwisolver-1.0.1 matplotlib-3.0.3 networkx-2.2 numpy-1.16.2 pillow-5.4.1 pyparsing-2.3.1 python-dateutil-2.8.0 scikit-image-0.14.2 scipy-1.2.1 setuptools-40.8.0 six-1.12.0 toolz-0.9.0
pip install numpy --force-reinstall
Successfully installed numpy-1.16.2
Way to reproduce:
from numpy.lib.arraypad import _validate_lengths
Version information
from __future__ import print_function
import sys; print(sys.version)
import platform; print(platform.platform())
import skimage; print("scikit-image version: {}".format(skimage.__version__))
import numpy; print("numpy version: {}".format(numpy.__version__))
3.6.5 |Anaconda, Inc.| (default, Apr 29 2018, 16:14:56)
[GCC 7.2.0]
Linux-4.4.0-1075-aws-x86_64-with-debian-stretch-sid
scikit-image version: 0.14.2
numpy version: 1.16.2
this is a known issue (https://github.com/scikit-image/scikit-image/issues/3780) can you do something like this:
from distutils import LooseVersion as Version
old_numpy = Version(np.__version__) < Version('1.16')
if old_numpy:
from numpy.lib.arraypad import _validate_lengths
else:
from numpy.lib.arraypad import _as_pairs
Hi @aopisco, apologies for the delayed response. Would you mind clarifying when exactly you are getting this error? I can reproduce the error as you suggested (from numpy.lib.arraypad import _validate_lengths
), but I don't encounter it in the usual Scrublet workflow.