Subject: bug#52139: jupyter trying to modify /gnu/store

From: Alexander Asteroth <[email-masked]>
Date: Fri, 10 Dec 2021 14:59:44 +0100

Hi Ludovic,

On Fri, Dec 10 2021, 14:27:49, Ludovic Courtès <[email-masked]> wrote:

> Hi Alexander,
>
> Alexander Asteroth <[email-masked]> skribis:
>
>> I found the cause:
>>
>> in ~/.guix-profile/etc/profile environment variables are set for jupyter:
>>
>>> export JUPYTER_PATH="${GUIX_PROFILE:-/gnu/store/ichrcarq2k4lhdmm2izc3f1xjbziz49v-profile}/share/jupyter${JUPYTER_PATH:+:}$JUPYTER_PATH"
>>> export JUPYTER_CONFIG_DIR="${GUIX_PROFILE:-/gnu/store/ichrcarq2k4lhdmm2izc3f1xjbziz49v-profile}/etc/jupyter${JUPYTER_CONFIG_DIR:+:}$JUPYTER_CONFIG_DIR"
>>
>> The jupyter config path causes the problem, since jupyter tries to write
>> into it (and it is located in a read only filesystem). Unsetting the
>> environment variable solves the issue.
>
> I can’t reproduce it with:
>
> $ guix describe
> Generacio 196	Dec 06 2021 11:23:08	(nuna)
>   guix 9478a25
>     repository URL: https://git.savannah.gnu.org/git/guix.git
>     branch: master
>     commit: 9478a252509a93f3e7f486cbc549631185ba071d
> $ guix shell jupyter -CN --no-cwd -- jupyter notebook
>
> Perhaps that’s because I didn’t trigger actions that would cause Jupyter
> to attempt to write to $JUPYTER_CONFIG_DIR?

Yes. I happes for also only if I used jupyter once. At the second attempt
the error occured.

The problem is easily solved by setting the config dir to (e.g.)
~/.config/jupyter.

Cheers,

	Alex

>
> The JUPYTER_CONFIG_DIR search path was added to ‘python-jupyter-core’ in
> commit 1683e9d9677d54f695a54fc44ed309287989fc34.  Lars, what are you
> thoughts?
>
> Thanks,
> Ludo’.