matplotlib / matplotlib/ipympl

ipympl conda install deletes env's default labextensions state (but works with pip)

Open
#564 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Jupyter Notebook
Stars
1.7k
Forks
234
PR merge metrics
No merged PRs in 30d

Description

## Describe the issue
Installing ipympl with conda overwrites the content of `.../conda/envs/env_name/etc/jupyter/labconfig/page_config.json` resulting in enabling of all labextensions for all users (which is a big problem on a JupyterHub).

Install command:
```
conda install -c conda-forge ipympl
```
`.../conda/envs/env_name/etc/jupyter/labconfig/page_config.json` before ipympl install:
```
{
"disabledExtensions": {
"@jupyter/nbgrader:formgrader": true,
"@jupyter/nbgrader:course-list": true,
"@jupyter/nbgrader:create-assignment": true,
"kore-extension": true
},
"lockedExtensions": {
"@jupyter/nbgrader:formgrader": true,
"@jupyter/nbgrader:course-list": true,
"@jupyter/nbgrader:create-assignment": true,
"kore-extension": true
}
}
```
and after:
```
{
"lockedExtensions": {}
}
```

This is not caused by a dependency: installing all dependencies first shows that install of ipympl overwrites the file.

Using `pip install ipympl` everything works as expected (`page_config.json` remains untouched).

## Versions

* ipympl 0.9.4
* jupyterlab 4.2.4
* jupyterhub 5.1.0

```bash
# without output from jupyter nbextension list (not installed)

3.12.5 | packaged by conda-forge | (main, Aug 8 2024, 18:36:51) [GCC 12.4.0]
ipympl version: 0.9.4
Selected Jupyter core packages...
IPython : 8.26.0
ipykernel : 6.29.5
ipywidgets : 8.1.5
jupyter_client : 8.6.2
jupyter_core : 5.7.2
jupyter_server : 2.14.2
jupyterlab : 4.2.4
nbclient : 0.10.0
nbconvert : 7.16.4
nbformat : 5.10.4
notebook : 7.2.1
qtconsole : not installed
traitlets : 5.14.3
JupyterLab v4.2.4
/opt/conda/envs/jhub/share/jupyter/labextensions
jupyterlab-execute-time v3.1.2 enabled OK (python, jupyterlab_execute_time)
jupyterlab_pygments v0.3.0 enabled OK (python, jupyterlab_pygments)
jupyter-matplotlib v0.11.4 enabled OK
kore-extension v0.1.0 enabled OK (python, kore_extension)
@jupyter-notebook/lab-extension v7.2.1 enabled OK
@jupyter-widgets/jupyterlab-manager v5.0.13 enabled OK (python, jupyterlab_widgets)
@jupyter/nbgrader v0.9.3 enabled OK
```

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue with `conda install -c conda-forge ipympl` and compare `.../conda/envs/env_name/etc/jupyter/labconfig/page_config.json` before and after installation. Use the reported pip behavior as a comparison; done means the existing `disabledExtensions` and `lockedExtensions` settings remain intact after the conda install.

Written by the indexing model from the issue text.

Assessment

Tech stack
jupyter-notebook, python
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.