Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Static files in classic notebook not searched for in site-packages/notebook but instead site-packages/jupyter_server #451

Closed
StatsThoughts opened this issue Mar 19, 2021 · 1 comment
Milestone

Comments

@StatsThoughts
Copy link

This is taken form issue #9968 from the Jupyterlab Repo (jupyterlab/jupyterlab#9968)

Description

Recently I've been trying to debug an issue with the classic notebook extension appmode 0.8.0 (https://github.com/oschuett/appmode) in Jupyterlab 3.0.10 where when trying to load an app either via the appmode button or the /app/ web link. The error given is that it cannot find the notebook.html file located at /opt/anaconda3/lib/python3.6/site-packages/notebook/templates/notebook.html as it appears to search for /opt/anaconda3/lib/python3.6/site-packages/jupyter_server/templates/notebook.html and fails to find it since the file doesnt exist. Manually copying this file will resolve this solution, but will cause other files to give a 403 error when looking in chrome dev console (bootstrap-tour/build/css/bootstrap-tour.min.css, codemirror/lib/codemirror.css, notebook/css/override.css to name a few of the files that affect this incident) at load time. Going to these links directly in the URL will yield a 403 forbidden where it was unable to find the file in the root static directory.

From my understanding, at load-time Jupyter will only look for static files under /site-packages/jupyter_server instead of /site-packages/notebook despite the files only existing under /site-packages/notebook. So my guess is that the root static directory doesn't consider /site-packages/notebook directory when looking for static files. Manually copying them over doesn't appear to fix the issue however and i'm not sure how to add any paths to the root static directory.

Reproduce

  1. Open a notebook file in Classic notebook with appmode enabled
  2. Click on the Appmode button to run the notebook in appmode

-OR-

  1. Open the notebook file via https://{root}/apps/{Path to Notebook} with appmode enabled

Expected behavior

Appmode will run the notebook smoothly.

Context

For reference - the issue occurs with the setup for the following (relevant, my knowledge) packages:
jupyterhub==1.3.0
jupyterlab==3.0.10
jupyter_notebook=6.1.5
tornado = 6.1
jupyter_contrib_nbextensions==0.5.1
jupyter_nbextensions_configurator==0.4.1 (With a slight modification based on Jupyter-contrib/jupyter_nbextensions_configurator#127)
appmode==0.8.0

For reference the highlighted lines in the html that chrome devtools denotes as errors are links to stylesheets such as the ones shown below

Browser Output

link rel="stylesheet" href="/{userpath}/static/components/bootstrap-tour/build/css/bootstrap-tour.min.css?v=95c93e52db61ab29625defe55361384ce6776a7d303b97da5a73fef5ddf8e391a6223599a0b58669476bd71645a4f0022df0517c88b0c05df80ba465e36f5417" type="text/css"

link rel="stylesheet" href="/{userpath}/static/components/codemirror/lib/codemirror.css?v=81fecb54f83101e2bbe6d2e3131e252ac83f2910366100ca83ba4834f5d41754c837f306eecfdceed05f9c9111614942e2ced5acdd8040746b66c6bef0141d0e" type="text/css"

@Zsailer
Copy link
Member

Zsailer commented Nov 2, 2021

This should be fixed by nbclassic (here), a server extension that offers a shim layer for the classic notebook. JupyterLab installs nbclassic as a dependency, but you may need to upgrade nbclassic to the latest, v0.3.4.

Closing this issue for now, but feel free to reopen if the issue still persists.

@Zsailer Zsailer closed this as completed Nov 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants