JupyterLab 3 troubleshooting

Troubleshooting for JupyterLab 3 and 4

File save error

In rare cases, one of the database files used internally by JupyterLab may become corrupted, preventing changes from being saved. You may see an error similar to the following in the user interface:

File save error: database disk image is malformed

If you encounter this, try the following steps:

  1. Open new terminal window, and run jupyter lab path. The output will include a line similar to Application directory: /opt/conda/share/jupyter/lab

  2. Using the application directory path from the previous step, run the following command: rm <app_dir_path>/../nbsignatures.db Example: rm /opt/conda/share/jupyter/lab/../nbsignatures.db

  3. Restart the application

JupyterLab freezes when opening a specific file

A corrupted file may cause JupyterLab to freeze when it is opened. This can create the following cycle:

  1. You open the file and the entire interface freezes.

  2. You restart the application, but JupyterLab attempts to reopen the same file during startup, causing the interface to freeze again.

To resolve the issue, rename the problematic file in the Nuvolos File navigator and restart the application. Because JupyterLab will no longer be able to locate that file automatically, the interface should start normally.

Running a Flask application and serving it to JupyterLab

You can run a Flask web server application and make it accessible from JupyterLab.

Components that may be required:

  • nodejs (optional, install via conda if needed)

    • nodejs is only required for certain JupyterLab development tasks, such as building JupyterLab or working with source extensions. Most modern prebuilt extensions do not require nodejs . If nodejs is needed, check the documentation for your specific JupyterLab version to confirm the supported version.

  • Install the jupyter-server-proxyarrow-up-right extension.

  • Flask version >= 2.2.0 is suggested.

Additional tools that may be useful:

Modify your flask application code

Add the following snippet to your Flask application code:

Last updated

Was this helpful?