Numba needs NumPy 1.20 or less for shapley import

I am trying to import shap. I am getting the following bug. I installed the lower version of NumPy still the problem is not solved. Thank you!

 import shap
ImportError Traceback (most recent call last)
/tmp/ipykernel_22681/948769371.py in <module>
----> 1 import shap
~/jupyter/environment/lib/python3.8/site-packages/shap/__init__.py in <module> 10 warnings.warn("As of version 0.29.0 shap only supports Python 3 (not 2)!") 11
---> 12 from ._explanation import Explanation, Cohorts 13 14 # explainers
~/jupyter/environment/lib/python3.8/site-packages/shap/_explanation.py in <module> 10 from slicer import Slicer, Alias, Obj 11 # from ._order import Order
---> 12 from .utils._general import OpChain 13 14 # slicer confuses pylint...
~/jupyter/environment/lib/python3.8/site-packages/shap/utils/__init__.py in <module>
----> 1 from ._clustering import hclust_ordering, partition_tree, partition_tree_shuffle, delta_minimization_order, hclust 2 from ._general import approximate_interactions, potential_interactions, sample, safe_isinstance, assert_import, record_import_error 3 from ._general import shapley_coefficients, convert_name, format_value, ordinal_str, OpChain 4 from ._show_progress import show_progress 5 from ._masked_model import MaskedModel, make_masks
~/jupyter/environment/lib/python3.8/site-packages/shap/utils/_clustering.py in <module> 2 import scipy as sp 3 from scipy.spatial.distance import pdist
----> 4 from numba import jit 5 import sklearn 6 import warnings
~/jupyter/environment/lib/python3.8/site-packages/numba/__init__.py in <module> 196 197 _ensure_llvm()
--> 198 _ensure_critical_deps() 199 200 # we know llvmlite is working as the above tests passed, import it now as SVML
~/jupyter/environment/lib/python3.8/site-packages/numba/__init__.py in _ensure_critical_deps() 136 raise ImportError("Numba needs NumPy 1.17 or greater") 137 elif numpy_version > (1, 20):
--> 138 raise ImportError("Numba needs NumPy 1.20 or less") 139 140 try:
ImportError: Numba needs NumPy 1.20 or less

4 Answers

I use Numpy==1.21.4 and Numba==0.53.0, it works:

pip install numba==0.53

I used pip install shap instead of conda install -c conda-forge shap and it worked for me.

I believe the numba's dependency with numpy 1.22 have been resolved in the most recent version. Try upgrading numba (works for me with numpy 1.22):

 pip install numba --upgrade

I ran into the same issue. the solution is to install numpy 1.18.1 with numpa 0.48.0 and it should work

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like