EvalML is available for Python 3.7 and 3.8 with experimental support 3.9. It can be installed with pip or conda.
Time Series support with Facebook’s Prophet¶
To support the
Prophet time series estimator, be sure to install it as an extra requirement. Please note that this may take a few minutes. Prophet is currently only supported via pip installation in EvalML for Mac with CmdStan as a backend.
pip install evalml[prophet]
Another option for installing Prophet with CmdStan as a backend is to use
Note: In order to do this, you must have the EvalML repo cloned and you must be in the top level folder
<your_directory>/evalml/ to execute this command. This command will do the following: - Pip install
cmdstanpy==0.9.68 - Execute the
install_cmdstan.py script found within your
site-packages/cmdstanpy which builds
cmdstan in your
site-packages. - Install
Prophet==1.0.1 with the
STAN_BACKEND environment variables set.
site-packages path is incorrect or you’d like to specify a different one, just run
make installdeps-prophet SITE_PACKAGES_DIR="<path_to_your_site_packages>".
If you’d like to have more fine-tuned control over the installation steps for Prophet, such as specifying the backend, follow these steps:
For CmdStanPy as a backend: 1.
pip install cmdstanpy==0.9.68 2.
python <path_to_installed_cmdstanpy>/install_cmdstan.py --dir <path_to_build_cmdstan> -v <version_to_use> 3.
CMDSTAN=<path_to_build_cmdstan>/cmdstan-<version_to_use> STAN_BACKEND=CMDSTANPY pip install prophet==1.0.1
For PyStan as a backend (PyStan is used by default): 1.
pip install prophet==1.0.1
Pip with all dependencies¶
To install evalml with pip, run the following command:
pip install evalml
Pip with core dependencies¶
EvalML includes several optional dependencies. The
catboost packages support pipelines built around those modeling libraries. The
ipywidgets packages support plotting functionality in automl searches. These dependencies are recommended, and are included with EvalML by default but are not required in order to install and use EvalML.
EvalML’s core dependencies are listed in
core-requirements.txt in the source code, and optional requirements are isted in
To install EvalML with only the core required dependencies, download the EvalML source from pypi to access the requirements files. Then run the following:
pip install evalml --no-dependencies pip install -r core-requirements.txt
You can install add-ons individually or all at once by running:
pip install evalml[complete]
Time Series Support
Add time series support with Facebook’s Prophet
pip install evalml[prophet]
Please note that this may take a few minutes. Prophet is currently only supported via pip installation in EvalML.
Receive automatic notifications of new EvalML releases
pip install evalml[update_checker]
Conda with all dependencies¶
To install evalml with conda run the following command:
conda install -c conda-forge evalml
Conda with core dependencies¶
To install evalml with only core dependencies run the following command:
conda install -c conda-forge evalml-core
Additionally, if you are using
pip to install EvalML, it is recommended you first install the following packages using conda: *
numba (needed for
shap and prediction explanations). Install with
conda install -c conda-forge numba *
graphviz if you’re using EvalML’s plotting utilities. Install with
conda install -c conda-forge python-graphviz
The XGBoost library may not be pip-installable in some Windows environments. If you are encountering installation issues, please try installing XGBoost from Github before installing EvalML or install evalml with conda.
brew install libomp
graphviz can be installed by running
brew install graphviz
Python 3.9 support¶
Evalml can still be installed with pip in python 3.9 but note that
sktime, one of our dependencies, will not be installed because that library does not yet support python 3.9. This means the
PolynomialDetrending component will not be usable in python 3.9. You can try to install
sktime from source in python 3.9 to use the
PolynomialDetrending component but be warned that we only test it in python 3.7 and