To install ipywidgets from git, you will need:
-
npm version 3.x or later
- Check your version by running
npm -v
from a terminal. - Note: If you install using sudo, you need to make sure that npm is also available in the PATH used with sudo.
- Check your version by running
-
the latest Jupyter notebook development release
- Everything in the ipywidgets repository is developed using Jupyter notebook's master branch.
- If you want to have a copy of ipywidgets that works against a stable version of the notebook, checkout the appropriate tag.
- See the Compatibility table.
-
Clone the repo:
git clone https://github.com/jupyter-widgets/ipywidgets
-
Navigate into the cloned repo and install:
cd ipywidgets bash dev-install.sh --sys-prefix
To build and test changes, run the following commands in the ipywidgets repository root directory, empty your browser's cache, and refresh the page.
npm run clean
npm run build
If your changes are confined to one package (for example, just in the widgetsnbextension package), then it may be sufficient to just run npm run build
in that specific directory.
-
If you have any problems with the above install procedure, make sure that permissions on npm and pip related install directories are correct.
-
Sometimes, it helps to clear cached files too by running
git clean -dfx
from the root of the cloned repository. -
When you make changes to the Javascript and you're not seeing the changes, it could be your browser is caching aggressively. Try clearing the browser's cache. Try also using "incognito" or "private" browsing tabs to avoid caching.
-
If troubleshooting an upgrade and its build, you may need to do the following process:
-
Deep clean of the cloned repository:
git clean -dfx .
-
Remove anything with
widgetsnbextension
in the name of files within theconda
directory -
Try reinstalling ipywidgets
-
See dev_release.md for a details on how to release new versions of ipywidgets to PyPI and jupyter-widgets-controls on npm.
See dev_testing.md for a details on how to run Python and Javascript tests.
See dev_docs.md for a details on how to build the docs.