Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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
like image 260
user3064366 Avatar asked Sep 06 '25 21:09

user3064366


2 Answers

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
like image 130
David Juraj Avatar answered Sep 11 '25 08:09

David Juraj


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

pip install numba==0.53
like image 26
ah bon Avatar answered Sep 11 '25 07:09

ah bon