jupyter-server-proxy isn't working anymore #125

Closed
opened 2022-04-14 20:20:55 +00:00 by a · 8 comments
Owner

Nothing is displayed on the launcher page, which means something is wrong with jupyter-server-proxy.

Nothing is displayed on the launcher page, which means something is wrong with jupyter-server-proxy.
a added the
help wanted
bug
labels 2022-04-14 20:20:55 +00:00
Author
Owner

Installing jupyter-nbclassic fixes the issue.

Installing `jupyter-nbclassic` fixes the issue.
a closed this issue 2022-04-14 20:35:07 +00:00
Author
Owner

I should probably include a few more details: this package got automatically uninstalled last week and reinstalling it fixes the issue.

I should probably include a few more details: this package got automatically uninstalled last week and reinstalling it fixes the issue.
a added this to the (deleted) project 2022-04-14 22:45:33 +00:00
a reopened this issue 2022-05-20 02:16:34 +00:00
Author
Owner

This issue has come back! And jupyter-nbclassic is installed this time!

This issue has come back! And `jupyter-nbclassic` is installed this time!
Author
Owner

OK, I finally got jupyter-server-proxy to work by installing nbclassic, jupyter_server_mathjax, ipython_genutils, and notebook using pip. I don't know which one fixes the issue so time to investigate that.

OK, I finally got jupyter-server-proxy to work by installing `nbclassic`, `jupyter_server_mathjax`, `ipython_genutils`, and `notebook` using `pip`. I don't know which one fixes the issue so time to investigate that.
Author
Owner

jupyter_server_mathjax fixes a completely different issue that I reported to the AUR package. It's not relevant here.

`jupyter_server_mathjax` fixes a completely different issue that I reported to the [AUR package](https://aur.archlinux.org/packages/python-nbdime#comment-865764). It's not relevant here.
Author
Owner

I'm going to try to figure out why all those dependencies are needed by trying jupyter-server-proxy on a different machine.

I'm going to try to figure out why all those dependencies are needed by trying jupyter-server-proxy on a different machine.
Author
Owner

OK, I figured out the issue. It's actually due to Arch Linux's packaging for the jupyterlab package. JupyterLab 3.x still depends on nbclassic as shown here:

pipdeptree -r -p notebook
notebook==6.4.11
  - nbclassic==0.3.7 [requires: notebook<7]
    - jupyterlab==3.4.2 [requires: nbclassic~=0.2]

In addition, nbclassic is likely packaged wrong, since ipython-genutils depends on it:

pipdeptree -r -p ipython-genutils
ipython-genutils==0.2.0
  - notebook==6.4.11 [requires: ipython-genutils]
    - nbclassic==0.3.7 [requires: notebook<7]
      - jupyterlab==3.4.2 [requires: nbclassic~=0.2]

This is why random Arch Linux JupyterLab updates kept on breaking jupyter-server-proxy. The official repos are screwing up.

That makes sense why this package broke the first time when Arch removed nbclassic from the deps for JupyterLab: d92f731294

I'm not entirely sure what's going on with ipython-genutils, but it's likely an Arch official repos messup too.

I'm going to add these two packages as dependencies for the jupyter-server-proxy AUR package, which doesn't fix the upstream issue but at least makes this package usable. And shoot, the AUR seems to be down right now. 😭

OK, I figured out the issue. It's actually due to Arch Linux's packaging for the `jupyterlab` package. JupyterLab 3.x still depends on `nbclassic` as shown here: ``` pipdeptree -r -p notebook notebook==6.4.11 - nbclassic==0.3.7 [requires: notebook<7] - jupyterlab==3.4.2 [requires: nbclassic~=0.2] ``` In addition, `nbclassic` is likely packaged wrong, since `ipython-genutils` depends on it: ``` pipdeptree -r -p ipython-genutils ipython-genutils==0.2.0 - notebook==6.4.11 [requires: ipython-genutils] - nbclassic==0.3.7 [requires: notebook<7] - jupyterlab==3.4.2 [requires: nbclassic~=0.2] ``` This is why random Arch Linux JupyterLab updates kept on breaking `jupyter-server-proxy`. The official repos are screwing up. That makes sense why this package broke the first time when Arch removed `nbclassic` from the deps for JupyterLab: https://github.com/archlinux/svntogit-community/commit/d92f73129420eba8732d626c5536c6a9e68778f2 I'm not entirely sure what's going on with `ipython-genutils`, but it's likely an Arch official repos messup too. I'm going to add these two packages as dependencies for the `jupyter-server-proxy` AUR package, which doesn't fix the upstream issue but at least makes this package usable. And shoot, the AUR seems to be down right now. 😭
a closed this issue 2022-05-20 04:18:47 +00:00
Author
Owner

Shoot, this bug is back again. SIGH. Arch Linux really needs to get their Jupyter packaging fixed, because this is getting annoying. Time to pip install jupyter-server-proxy and see what dependencies Arch is messing up...

I did

python -m venv .venv
source .venv/bin/activate.fish
for i in (pip freeze | cut -d= -f1)
    echo $i; paru -Q | grep $i
end

Unfortunately I couldn't find any packages that are installed by pip and not installed by Arch Linux, and even worse, running jupyter lab inside the venv also doesn't fix the bug...

The actual reason

It turns out this occurence of the bug is a completely different beast. It's not because of a missing package but because JupyterLab isn't loading the correct config file. Unfortunately, the Jupyter config system is very complicated and not well documented.

The solution

For whatever reason, the solution for the bug this time is to rename /etc/jupyter/jupyter_notebook_config.py to /etc/jupyter/jupyter_lab_config.py because that was an obvious thing to try. Actually, the only clue I had for this was that jupyter-lab --generate-config makes a jupyter_lab_config.py file, so I guess JupyterLab has its own unique config file now (breaking change!!!).

And in a sick ironic twist, python-nbclassic and ipython-genutils don't seem to be needed anymore since the bug doesn't reappear after uninstalling them. I guess JupyterLab just got a lot of updates (and evil breaking changes!) recently or something. I guess I'll update the AUR package to remove these dependencies.

I'm tired. jupyter-server-proxy, can you please stop breaking every month?

Shoot, this bug is back *again*. SIGH. Arch Linux really needs to get their Jupyter packaging fixed, because this is getting annoying. Time to `pip install jupyter-server-proxy` and see what dependencies Arch is messing up... I did ``` python -m venv .venv source .venv/bin/activate.fish for i in (pip freeze | cut -d= -f1) echo $i; paru -Q | grep $i end ``` Unfortunately I couldn't find any packages that are installed by pip and not installed by Arch Linux, and even worse, running `jupyter lab` inside the `venv` also doesn't fix the bug... ## The actual reason It turns out this occurence of the bug is a completely different beast. It's not because of a missing package but because JupyterLab isn't loading the correct config file. Unfortunately, the Jupyter config system is very complicated and not well documented. ## The solution For whatever reason, the solution for the bug this time is to rename `/etc/jupyter/jupyter_notebook_config.py` to `/etc/jupyter/jupyter_lab_config.py` because *that* was an obvious thing to try. Actually, the only clue I had for this was that `jupyter-lab --generate-config` makes a `jupyter_lab_config.py` file, so I guess JupyterLab has its own unique config file now (breaking change!!!). And in a sick ironic twist, `python-nbclassic` and `ipython-genutils` don't seem to be needed anymore since the bug doesn't reappear after uninstalling them. I guess JupyterLab just got a lot of updates (and evil breaking changes!) recently or something. I guess I'll update the AUR package to remove these dependencies. I'm tired. `jupyter-server-proxy`, can you please stop breaking every month?
a reopened this issue 2022-07-04 04:12:11 +00:00
a closed this issue 2022-07-04 04:12:15 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: exozyme/exozyme#125
No description provided.