pip install ipywidgets jupyter nbextension enable --py widgetsnbextension
When using virtualenv and working in
an activated virtual environment, the
--sys-prefix option may be required
to enable the extension and keep the environment isolated (i.e.
jupyter nbextension enable --py widgetsnbextension --sys-prefix).
conda install -c conda-forge ipywidgets
Installing ipywidgets with conda will also enable the extension for you.
Installing with multiple environments¶
Sometimes the Jupyter Notebook and the IPython kernel are installed in different environments (either virtualenv or conda environments). This happens when environments are used to provide different IPython kernels. In this case, the installation requires two steps.
First, you need to install the
widgetsnbextension package in the environment
containing the Jupyter Notebook server. Next, you need to install
ipywidgets in each kernel’s environment that will use ipywidgets.
For example, if using conda environments, with the notebook installed on the
base environment and the kernel installed in an environment called
the commands are:
conda install -n base -c conda-forge widgetsnbextension conda install -n py36 -c conda-forge ipywidgets
Installing the JupyterLab Extension¶
To install the JupyterLab extension you also need to run the command below in a terminal which requires that you have nodejs installed.
jupyter labextension install @jupyter-widgets/jupyterlab-manager
Note: A clean reinstall of the JupyterLab extension can be done by first
jupyter lab clean command which will remove the staging and
static directories from the lab directory. The location of the lab directory
can be queried by executing the command
jupyter lab path in your terminal.
Frequently Asked Questions¶
The issues in the Reference milestone on GitHub include many questions, discussions, and answers about ipywidgets.
Question: When I display a widget or interact, I just see some text, such as
interactive(children=(IntSlider(value=0, description='x', max=1), Output()), _dom_classes=('widget-interact',)). What is wrong?
If you see this message in another frontend (for example, a static rendering on GitHub or NBViewer), it may mean that your frontend doesn’t currently support widgets.