에서 JupyterLab 환경 만들기 - 확장 기능 추가
10859 단어 JupyterLab도커Python3
이 기사에서는 확장 기능을 설정하고 싶습니다.
올레올레 Jupyterlab 환경을 Docker로 만들었다 을 참고로 최소한 필요한 코드로 좁혀 보았습니다.
jupyterlab-kite 설치
jupyterlab-kite에 필요한 DockerfileFROM python:3
# Node.jsのインストール
RUN curl -sL https://deb.nodesource.com/setup_12.x |bash - \
&& apt-get install -y --no-install-recommends \
nodejs
# pythonライブラリのインストール
COPY requirements.txt .
RUN pip3 install --upgrade pip && \
pip3 install --no-cache-dir -r requirements.txt \
&& rm -rf ~/.cache/pip
# JupyterLabと拡張機能のインストール
RUN pip3 install --upgrade --no-cache-dir \
jupyterlab \
'jupyterlab-kite>=2.0.2' \
&& jupyter labextension install \
'@kiteco/jupyterlab-kite' \
# jupyter-kiteのインストール
RUN cd && \
wget https://linux.kite.com/dls/linux/current && \
chmod 777 current && \
sed -i 's/"--no-launch"//g' current > /dev/null && \
./current --install ./kite-installer
WORKDIR /src
COPY /src /src
jupyterlab-kite를 설치하려면 Node.js가 필요하므로,
시작 부분의 Node.jsのインストール
부분이 필요합니다.
그리고 jupyter-kiteのインストール
의 장소도 왜 필요한지 모르고,
제거하고 실행하면 아래와 같은 오류가 표시되었습니다.
jupyter-kite를 실행하려면 Kite Engine 데스크톱 애플리케이션이 필요하다고 표시됩니다.
docker-compose.yml
docker-compose.yml 파일에 --NotebookApp.token=''
를 추가했습니다.
version: '3'
services:
jupyterlab:
restart: always
build:
context: .
dockerfile: Dockerfile
container_name: jupyterlab
working_dir: '/src'
tty: true
volumes:
- ./src:/src
ports:
- "8080:8080"
command: jupyter-lab --ip 0.0.0.0 --port=8080 --allow-root --no-browser --NotebookApp.token=''
이제 백그라운드에서 -d
를 실행해도 토큰을 입력하지 않고 JupyterLab을 열 수 있습니다.
docker compose up -d
기능 테스트에서 추가하고 싶은 경우
이전 기사에서 작성한 컨테이너 안에 들어가 설치할 수 있습니다.
docker exec -it [コンテナ名] bash
그 중에서 시도해보고 움직이면 Dockerfile에 추가하는 방법도 있습니다.
내 경우에는 나중에 설명합니다. Variable Inspector
오류 내용을 확인하기 위해 컨테이너에 들어가서 실행했습니다.
기타 원하는 기능 추가
추가하고 싶은 기능은 아래를 참고로 했습니다.
이 중에서 아래 3개를 넣는데 빠진 점이 2개 있었습니다.
FROM python:3
# Node.jsのインストール
RUN curl -sL https://deb.nodesource.com/setup_12.x |bash - \
&& apt-get install -y --no-install-recommends \
nodejs
# pythonライブラリのインストール
COPY requirements.txt .
RUN pip3 install --upgrade pip && \
pip3 install --no-cache-dir -r requirements.txt \
&& rm -rf ~/.cache/pip
# JupyterLabと拡張機能のインストール
RUN pip3 install --upgrade --no-cache-dir \
jupyterlab \
'jupyterlab-kite>=2.0.2' \
&& jupyter labextension install \
'@kiteco/jupyterlab-kite' \
# jupyter-kiteのインストール
RUN cd && \
wget https://linux.kite.com/dls/linux/current && \
chmod 777 current && \
sed -i 's/"--no-launch"//g' current > /dev/null && \
./current --install ./kite-installer
WORKDIR /src
COPY /src /src
version: '3'
services:
jupyterlab:
restart: always
build:
context: .
dockerfile: Dockerfile
container_name: jupyterlab
working_dir: '/src'
tty: true
volumes:
- ./src:/src
ports:
- "8080:8080"
command: jupyter-lab --ip 0.0.0.0 --port=8080 --allow-root --no-browser --NotebookApp.token=''
docker compose up -d
이전 기사에서 작성한 컨테이너 안에 들어가 설치할 수 있습니다.
docker exec -it [コンテナ名] bash
그 중에서 시도해보고 움직이면 Dockerfile에 추가하는 방법도 있습니다.
내 경우에는 나중에 설명합니다.
Variable Inspector
오류 내용을 확인하기 위해 컨테이너에 들어가서 실행했습니다.기타 원하는 기능 추가
추가하고 싶은 기능은 아래를 참고로 했습니다.
이 중에서 아래 3개를 넣는데 빠진 점이 2개 있었습니다.
Variable Inspector
Variable Inspector를 넣을 때는
jupyter labextension install @lckr/jupyterlab_variableinspector
는 그대로는 사용할 수 없었습니다.여기에 쓰여진 requirements에 쓰여있는 라이브러리를 모두 설치하면 문제없이 움직입니다.
다만, 그것이라고 불필요한 라이브러리도 많기 때문에 대신에
pip3 install lckr-jupyterlab-variableinspector
를 사용해도 문제없이 움직였습니다.jupyterlab_code_formatter
처음 참고 기사와 같이 yapf를 사용하려고 하면 isort가 들어 있지 않다는 오류가 나왔습니다.
검색해 차이를 조사한 결과, 이 기사를 참고로 black, isort를 사용해 갈까라고 생각해 그 2개를 선택하고 있습니다.
루트 사용자 설정
컨테이너 내에서 확장 기능을 추가하는 경우 루트 사용자로 실행
WARNING이 나왔기 때문에, 그 설정도 Dockfile에 추가하는 것이 좋을 것 같습니다.
Kite 외에도 다음 세 가지를 데포에서 사용하기 위해 Dockerfike를 변경했습니다.
최종 Dockerfile
현재 상태는 어디에서 무엇을 넣고 있는지 파악하기 쉽도록 확장 기능마다RUN
를 나누어 실행하고 있습니다만, 익숙해지면 혼합해 실행할지도 모릅니다.
4개의 확장 기능 추가FROM python:3
USER root
RUN curl -sL https://deb.nodesource.com/setup_12.x |bash - \
&& apt-get install -y --no-install-recommends \
nodejs \
yarn
# install python library
COPY requirements.txt .
RUN pip3 install --upgrade pip && \
pip3 install --no-cache-dir -r requirements.txt \
&& rm -rf ~/.cache/pip
# install jupyterlab&kite
RUN pip3 install --no-cache-dir \
jupyterlab \
'jupyterlab-kite>=2.0.2' \
&& jupyter labextension install \
'@kiteco/jupyterlab-kite'
# install jupyterlab_variableinspector
RUN pip3 install --upgrade --no-cache-dir \
black \
isort \
jupyterlab_code_formatter \
&& jupyter labextension install \
@ryantam626/jupyterlab_code_formatter \
&& jupyter serverextension enable --py jupyterlab_code_formatter
# install jupyterlab_variableinspector
RUN pip3 install --no-cache-dir lckr-jupyterlab-variableinspector
# install other_extentions
RUN jupyter labextension install \
@jupyterlab/toc
# install jupyter-kite
RUN cd && \
wget https://linux.kite.com/dls/linux/current && \
chmod 777 current && \
sed -i 's/"--no-launch"//g' current > /dev/null && \
./current --install ./kite-installer
WORKDIR /src
COPY /src /src
확장 기능에 대한 정보
컨테이너 안에 들어가 아래의 명령을 실행하면 지금 들어 있는 확장 기능 일람을 표시할 수 있습니다.
확장 기능 목록 표시jupyter labextension list
출력 결과JupyterLab v3.0.16
/usr/local/share/jupyter/labextensions
@jupyter-widgets/jupyterlab-manager v3.0.0 enabled OK (python, jupyterlab_widgets)
@kiteco/jupyterlab-kite v2.0.2 enabled OK (python, jupyterlab_kite)
@ryantam626/jupyterlab_code_formatter v1.4.10 enabled OK (python, jupyterlab-code-formatter)
@lckr/jupyterlab_variableinspector v3.0.9 enabled OK (python, lckr_jupyterlab_variableinspector)
Other labextensions (built into JupyterLab)
app dir: /usr/local/share/jupyter/lab
@jupyterlab/toc v5.0.12 enabled OK
움직이지 않는 경우는 serverextention도 보면 좋다고 합니다.
자세한 내용은 알 수 없습니다.
jupyter serverextension list
출력 결과config dir: /root/.jupyter
jupyterlab_code_formatter enabled
- Validating...
jupyterlab_code_formatter 1.4.10 OK
config dir: /usr/local/etc/jupyter
jupyterlab enabled
- Validating...
jupyterlab 3.0.16 OK
jupyterlab_code_formatter enabled
- Validating...
jupyterlab_code_formatter 1.4.10 OK
Reference
이 문제에 관하여(에서 JupyterLab 환경 만들기 - 확장 기능 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/plumfield56/items/3be3bed14246d4f1e601
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
FROM python:3
USER root
RUN curl -sL https://deb.nodesource.com/setup_12.x |bash - \
&& apt-get install -y --no-install-recommends \
nodejs \
yarn
# install python library
COPY requirements.txt .
RUN pip3 install --upgrade pip && \
pip3 install --no-cache-dir -r requirements.txt \
&& rm -rf ~/.cache/pip
# install jupyterlab&kite
RUN pip3 install --no-cache-dir \
jupyterlab \
'jupyterlab-kite>=2.0.2' \
&& jupyter labextension install \
'@kiteco/jupyterlab-kite'
# install jupyterlab_variableinspector
RUN pip3 install --upgrade --no-cache-dir \
black \
isort \
jupyterlab_code_formatter \
&& jupyter labextension install \
@ryantam626/jupyterlab_code_formatter \
&& jupyter serverextension enable --py jupyterlab_code_formatter
# install jupyterlab_variableinspector
RUN pip3 install --no-cache-dir lckr-jupyterlab-variableinspector
# install other_extentions
RUN jupyter labextension install \
@jupyterlab/toc
# install jupyter-kite
RUN cd && \
wget https://linux.kite.com/dls/linux/current && \
chmod 777 current && \
sed -i 's/"--no-launch"//g' current > /dev/null && \
./current --install ./kite-installer
WORKDIR /src
COPY /src /src
컨테이너 안에 들어가 아래의 명령을 실행하면 지금 들어 있는 확장 기능 일람을 표시할 수 있습니다.
확장 기능 목록 표시
jupyter labextension list
출력 결과
JupyterLab v3.0.16
/usr/local/share/jupyter/labextensions
@jupyter-widgets/jupyterlab-manager v3.0.0 enabled OK (python, jupyterlab_widgets)
@kiteco/jupyterlab-kite v2.0.2 enabled OK (python, jupyterlab_kite)
@ryantam626/jupyterlab_code_formatter v1.4.10 enabled OK (python, jupyterlab-code-formatter)
@lckr/jupyterlab_variableinspector v3.0.9 enabled OK (python, lckr_jupyterlab_variableinspector)
Other labextensions (built into JupyterLab)
app dir: /usr/local/share/jupyter/lab
@jupyterlab/toc v5.0.12 enabled OK
움직이지 않는 경우는 serverextention도 보면 좋다고 합니다.
자세한 내용은 알 수 없습니다.
jupyter serverextension list
출력 결과
config dir: /root/.jupyter
jupyterlab_code_formatter enabled
- Validating...
jupyterlab_code_formatter 1.4.10 OK
config dir: /usr/local/etc/jupyter
jupyterlab enabled
- Validating...
jupyterlab 3.0.16 OK
jupyterlab_code_formatter enabled
- Validating...
jupyterlab_code_formatter 1.4.10 OK
Reference
이 문제에 관하여(에서 JupyterLab 환경 만들기 - 확장 기능 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/plumfield56/items/3be3bed14246d4f1e601텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)