Environment:Interpretml Interpret Python Core Environment
| Knowledge Sources | |
|---|---|
| Domains | Machine_Learning, Interpretability |
| Last Updated | 2026-02-07 12:00 GMT |
Overview
Python 3.9+ environment with numpy, pandas, scikit-learn, and joblib as core runtime dependencies for the InterpretML interpret package.
Description
This environment defines the minimal Python runtime required to use the interpret-core package. The package provides interpretable machine learning models (Explainable Boosting Machines) and blackbox explanation methods. All core functionality (EBM training, prediction, explanation generation, model merging, and JSON serialization) requires only these four dependencies plus the native libebm shared library. The package supports Python 3.9 through 3.12 and is OS-independent at the Python layer.
Usage
Use this environment for any InterpretML workflow. It is the mandatory baseline prerequisite for all Implementation pages. Every EBM training, prediction, explanation, export, and merge operation requires these core dependencies.
System Requirements
| Category | Requirement | Notes |
|---|---|---|
| OS | Windows, Linux, or macOS | OS-independent at the Python layer; native library handles platform specifics |
| Python | 3.9, 3.10, 3.11, or 3.12 | Classifiers in setup.py; Python 3.10+ uses different entry_points API |
| Hardware | CPU (any architecture) | x86_64, aarch64 (Linux ARM), arm64 (macOS ARM) supported via native lib |
| Disk | Minimal | Package itself is small; dataset size determines disk needs |
Dependencies
System Packages
- C/C++ compiler (only if building from source via sdist)
- `apt-get` or `dnf` package manager (for native lib build dependencies)
Python Packages
- `numpy` >= 1.25
- `pandas` >= 0.24
- `scikit-learn` >= 1.6.0
- `joblib` >= 0.11
Credentials
No credentials are required for core functionality.
Quick Install
# Install interpret-core with minimal dependencies
pip install interpret-core
# Or install the full interpret meta-package (includes optional extras)
pip install interpret
Code Evidence
Core dependency specification from `python/interpret-core/setup.py:241-246`:
install_requires=[
"numpy>=1.25",
"pandas>=0.24",
"scikit-learn>=1.6.0",
"joblib>=0.11",
],
Python version classifiers from `python/interpret-core/setup.py:209-215`:
classifiers=[
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
...
],
Python 3.10 API change handling from `python/interpret-core/interpret/ext/extension_utils.py:45-47`:
if sys.version_info < (3, 10):
entry_points_group = entry_points_result.get(extension_key, [])
else:
entry_points_group = entry_points_result.select(group=extension_key)
Common Errors
| Error Message | Cause | Solution |
|---|---|---|
| `ImportError: No module named 'numpy'` | numpy not installed | `pip install numpy>=1.25` |
| `ImportError: No module named 'sklearn'` | scikit-learn not installed | `pip install scikit-learn>=1.6.0` |
| Version conflicts during pip install | Incompatible package versions | Create a fresh virtual environment and install interpret |
Compatibility Notes
- Python 3.9: Minimum supported version. All features work.
- Python 3.10+: Uses `importlib.metadata.entry_points().select()` instead of `.get()` for extension loading.
- Python 3.12: Supported per classifiers. No known issues.
- 32-bit Python: Not officially supported. The native library loading code checks for 64-bit architecture.
Related Pages
- Implementation:Interpretml_Interpret_Clean_Dimensions
- Implementation:Interpretml_Interpret_Construct_Bins
- Implementation:Interpretml_Interpret_Measure_Interactions
- Implementation:Interpretml_Interpret_Boost
- Implementation:Interpretml_Interpret_Process_Terms
- Implementation:Interpretml_Interpret_Ebm_Predict_Scores
- Implementation:Interpretml_Interpret_Explain_Global
- Implementation:Interpretml_Interpret_Explain_Local
- Implementation:Interpretml_Interpret_AutoVisualizeProvider
- Implementation:Interpretml_Interpret_Show
- Implementation:Interpretml_Interpret_Preserve
- Implementation:Interpretml_Interpret_ShapKernel
- Implementation:Interpretml_Interpret_LimeTabular
- Implementation:Interpretml_Interpret_PartialDependence
- Implementation:Interpretml_Interpret_MorrisSensitivity
- Implementation:Interpretml_Interpret_To_Jsonable
- Implementation:Interpretml_Interpret_UNTESTED_From_Jsonable
- Implementation:Interpretml_Interpret_Merge_Ebms
- Implementation:Interpretml_Interpret_Harmonize_Tensor
- Implementation:Interpretml_Interpret_Process_Terms_For_Merge
- Implementation:Interpretml_Interpret_ExportableEBMModel