Installation¶
Please Read This First¶
Delivering LSP features to your JupyterLab requires three pieces:
jupyter-lsp
¶
runs in your
notebook
web application on your server to handle requests from the browser to language serversto run, you need:
python >=3.5
notebook >=4.3
jupyterlab-lsp
¶
runs in your browser, as an extension to JupyterLab
to install it, you need:
nodejs >8
jupyterlab >=1.1,<2
Language Servers¶
run on your server
probably in another language runtime than python
some can be automatically detected if installed
others also need to be configured
Fast Paths¶
Here are two approches based on Jupyter documentation. If these do not meet your needs, try The Harder Way.
conda (minimal python)¶
conda create -c conda-forge -n lsp 'python >=3.7,<3.8' 'jupyterlab=1.2' 'nodejs>8' python-language-server
# Also consider: r-languageserver [*]
source activate lsp
python -m pip install 'jupyter-lsp=0.8.0' --no-deps
jupyter labextension install '@krassowski/jupyterlab-lsp@0.8.0'
Then run
jupyter lab
Your browser should open to your local server.
docker (data science)¶
This approach is based roughly on the Jupyter docker-stacks documentation, which should be consulted for more about connecting volumes, passwords, and other advanced features:
Dockerfile
¶
# This already contains the python, r, julia, and nodejs runtimes as well as jupyterlab 1.25
FROM jupyter/datascience-notebook@sha256:73a577b006b496e1a1c02f5be432f4aab969c456881c4789e0df77c89a0a60c2
RUN conda install --quiet --yes --freeze-installed \
'python-language-server' \
'r-languageserver' \
&& python3 -m pip install --no-cache-dir --no-deps \
'jupyter-lsp=0.8.0' \
&& jupyter labextension install --no-build \
'@krassowski/jupyterlab-lsp@0.8.0' \
&& jupyter lab build --dev-build=False --minimize=True \
&& conda clean --all -f -y \
&& rm -rf \
$CONDA_DIR/share/jupyter/lab/staging \
/home/$NB_USER/.cache/yarn \
&& fix-permissions $CONDA_DIR \
&& fix-permissions /home/$NB_USER
docker-compose.yml
¶
version: '2'
services:
lsp-lab:
build: .
ports:
- '18888:8888'
Build and Start¶
docker-compose up
You should now be able to access http://localhost:18888/lab
, using the token
provided in the log.
The Harder Way¶
Get A Working JupyterLab environment¶
Refer to the official JupyterLab Installation Documentation for your installation approach.
pip |
conda |
pipenv |
poetry |
|
---|---|---|---|---|
|
|
|
*
PRs welcome!
Verify your lab works:
jupyter lab --version
jupyter lab
Get a Working NodeJS¶
The JupyterLab Development Environment Documentation shows some approaches for getting NodeJS.
conda |
|
---|---|
|
Verify your node works and is findable from python.
jlpm versions
Install Jupyter[Lab] LSP¶
pip install jupyter-lsp=0.8.0
jupyter labextension install @krassowski/jupyterlab-lsp@0.8.0
Next Step: Language Servers¶
Now that you have jupyterlab-lsp
, jupyter-lsp
and all of their dependencies, you’ll need some language servers. See:
Language Servers that will be found automatically once installed
configuring
jupyter-lsp
for more control over which servers to load