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