포스트

jupyter-lab 세팅 과정 기록

jupyter

jupyter-notebook 만 사용한다면 버전에 크게 민감하지 않으나
jupyter-hub, jupyter-lab 까지 동시에 사용할 예정이면 버전을 잘 관리해야 한다.
jupyter-server 를 메인으로 notebook, lab 을 동시에 관리하는 방식인 것 같다.

jupyter version check

1
2
/*2023-05-06*/
pip list | grep jupyter
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
jupyter                            1.0.0
jupyter_client                     8.2.0
jupyter-console                    6.4.0
jupyter-contrib-core               0.4.2
jupyter-contrib-nbextensions       0.7.0
jupyter_core                       5.3.0
jupyter-events                     0.6.3
jupyter-highlight-selected-word    0.2.0
jupyter-nbextensions-configurator  0.6.1
jupyter-packaging                  0.7.12
jupyter-resource-usage             0.7.2
jupyter_scheduler                  1.2.0
jupyter-server                     1.24.0
jupyter_server_fileid              0.9.0
jupyter_server_terminals           0.4.4
jupyter_server_ydoc                0.8.0
jupyter-telemetry                  0.1.0
jupyter-ydoc                       0.2.4
jupyterhub                         4.0.0
jupyterhub-idle-culler             1.2.1
jupyterlab                         3.6.3
jupyterlab-pygments                0.1.2
jupyterlab_server                  2.22.0
jupyterlab-widgets                 3.0.5
1
2
/*2023-05-06*/
jupyter --version
1
2
3
4
5
6
7
8
9
10
11
12
13
IPython          : 8.12.2
ipykernel        : 6.22.0
ipywidgets       : 7.6.3
jupyter_client   : 8.2.0
jupyter_core     : 5.3.0
jupyter_server   : 2.5.0
jupyterlab       : 3.6.3
nbclient         : 0.5.3
nbconvert        : 7.3.1
nbformat         : 5.8.0
notebook         : 6.5.4
qtconsole        : 5.4.3
traitlets        : 5.7.1

jupyter-scheduler

nodejs 버전 관리 필요하다.
nodejs 마이너 버전에 따라 icu 버전도 같이 맞춰야 하므로 잘 확인해야한다. node 개발자가 아리라면 conda 로 설치하고 관리하는 것을 추천한다. conda로 nodejs 설치할 때 conda install nodejs 로 설치하지 말고 anaconda에서 직접 원하는 버전 다운받은 후 sftp로 파일 옮기고 패키지 파일로 설치를 진행하는 것이 좋다.

https://github.com/jupyter-server/jupyter-scheduler/blob/v1.2.0/binder/environment.yml

# a mybinder.org-ready environment for demoing jupyter_scheduler
# this environment may also be used locally on Linux/MacOS/Windows, e.g.
#
#   conda env update --file binder/environment.yml
#   conda activate jupyter-scheduler-demo
#
name: jupyter-scheduler-demo

channels:
  - conda-forge

dependencies:
  # runtime dependencies
  - python >=3.8,<3.9.0a0
  - jupyterlab >=3,<4.0.0a0
  # labextension build dependencies
  - nodejs >=14,<15
  - pip
  - wheel
  # additional packages for demos
  # - ipywidgets

config

jupyter 기본 명령어중에 –generate-config 가 있는데 notebook, lab, server, hub 등에서 모두 실행 가능하다.

1
2
3
4
jupyter-notebook --generate-config
jupyter-lab --generate-config
jupyter-server --generate-config
jupyterhub --generate-config
1
2
3
4
jupyter_notebook_config.py
jupyter_lab_config.py
jupyter_server_config.json
jupyterhub_config.py

모두 실행하면 서로 다른 이름으로 config파일이 생긴다.
server 기반으로 notebook, lab 의 config 파일들은 서로 상호작용 하면서 config를 적용하는 것같다.
그 안에서 뭐가 우선순위인지는 확인하지 못했다.

Error 이력

zmq

1
[W 2023-05-06 11:34:38.160 ServerApp] Could not destroy zmq context for <jupyter_client.asynchronous.client.AsyncKernelClient object at 0x7f84ebfb7280>

이런 오류가 날 때 2가지 이슈가 있다.
spyder 또는 pyzmq 패키지 버전을 확인한다.
무슨 버전을 깔아야 하는지는 모른다.

끝.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.