I’m new to JupyterLab, recently installed it successfully (I thought), but don’t see Terminal in the Other section of the Launcher, only Text File, Markdown File and Show Contextual Help, not sure how to fix this?
Hi @mattterry13,
Depending on the way you installed JupyterLab, it could be that terminalsAvailable
is set to false
, which would disable the terminal plugin in JupyterLab:
https://jupyterlab.readthedocs.io/en/stable/user/directories.html?#labconfig-directories
In that case you might be able to see a message in the browser dev tools console that looks like the following:
Disabling terminals plugin because they are not available on the server
Maybe installing JupyterLab in a clean environment could help check whether this is related to this, as a first step?
Thank you for the assistance - you are correct I do see that error message. I installed using pip. When you say installing in a clean environment, what exactly does that mean?
Something like the following:
conda create -n jupyterlab -c conda-forge jupyterlab=3 -y
conda activate jupyterlab
# open JupyterLab
jupyter lab
You might also want to check the order of the configuration folders returned by the jupyter --paths
command. There is more info about this in: Jupyter Paths priority order
Just to check whether if there is a page_config.json
file in PREFIX/etc/jupyter/labconfig/
(or in ~/.jupyter/labconfig
) that might have the terminalsAvailable
setting disabled.
Okay it looks like things are fixed now on my personal PC. I wasn’t using Anaconda, but installed that, uninstalled jupyterlab and reinstalled and good to go. On my work PC I’m not sure what my options are. I had to uninstall Anaconda a while back because I couldn’t launch it without it getting hung when connected to the internet and none of the solutions I found helped, so not sure if i’ll be able to do that but am going to try. Thanks again for your assistance, not sure if knowing all this will help for my work PC situation?
Anacaonda Navigator now launches fine on my work comp, so I did the same thing and Terminal is available for me. Thanks a lot for your assistance.
I had a similar problem. I use the packages of my distro and the problem was that the package for jupyter-server-terminals was not installed.
The error on web browser console was:
Disabling terminals plugin because they are not available on the server
I am facing same issue i am getting same 2 logs
- Broswer console:
Disabling terminals plugin because they are not available on the server
I try to set below at startup, --ServerApp.terminals_enabled=True, still facing same.
- In container log i see below
[W 2023-08-29 10:52:19.021 ServerApp] The module ‘jupyter_server_terminals’ could not be found. Are you sure the extension is installed?
[I 2023-08-29 10:52:19.026 ServerApp] jupyterlab | extension was successfully linked.
Request community to help here
Hi everyone, I was having this same issue and none of these solutions were helping for my use case. I did find a solution that works.
I was building containers with Linux, but I suspect this same issue will happen regardless of whether you are building containers or not.
I was installing Python + Pip fresh, and then installing my distro package for Jupyter Lab. I then made a virtual environment, because I kept getting errors about the packages being managed by my distro when installing with pip. After installing other packages (with the venv and pip) and finishing the build, I would launch the container (which had a run script to launch jupyter lab). I was getting the same error as jtp pointed out above when checking the web console:
Disabling terminals plugin because they are not available on the server
I discovered that I was not switching to the venv before launching Jupyter; for good measure I also started using pip to install Jupyter Lab, rather than my distro package. So in my case, the solution was:
- Install Jupyter Lab using pip (and of course, with the right venv activated)
- Launching Jupyter Lab after sourcing the correct venv
I didn’t want to use Conda, so I never tried that solution above- but given the solution I found, it probably would’ve worked too.