Docker로 시작한 Jupyter Notebook에서 vim 키 바인딩 사용
개요
최근에는 데이터 과학 공부로 통계학 책을 읽고 있습니다만, 책을 읽고 있을 뿐이라면 좀처럼 이미지하기 어려울 수도 있으므로, Jupyter Notebook을 사용해 수중에서 코드를 쓰면서 하고 싶다고 생각했습니다.
Jupyter Notebook에서 코드를 쓰면 vim의 키 바인딩을 사용할 수 없으면 텐션이 오르지 않기 때문에 vim을 사용할 수 있도록하고 싶습니다만, 다소 빠진 부분 등이 있었기 때문에 방법을 정리했습니다.
환경
버전
Mac
10.15.3
도커
19.03.4
docker-compose
1.24.1
환경 구축 절차
Dockerfile과 docker-compose를 사용하여 vim의 키 바인딩을 사용할 수있는 Jupyter Notebook을 시작합니다.
※이하 파일은 GitHub에도 정리하고 있으므로 참고해 주십시오.
htps : // 기주 b. 코 m / 히카루 t / 쥬 py 테 r의 테보오 k
1. notebook 저장을 위한 디렉토리 생성
$ mkdir notebooks
2. Dockerfile 만들기
DockerfileFROM jupyter/minimal-notebook:latest
USER root
RUN pip install jupyter_contrib_nbextensions && \
jupyter contrib nbextension install --user && \
git clone https://github.com/lambdalisue/jupyter-vim-binding /home/jovyan/.local/share/jupyter/nbextensions/vim_binding && \
jupyter nbextension enable vim_binding/vim_binding
EXPOSE 10000
CMD ["bash"]
※ jupyter-vim-binding
리포지토리의 클론처는 커맨드 jupyter의 path와 맞추어야 합니다. ( jupyter --path
명령으로 확인할 수 있습니다)
3. docker-compose.yml 만들기
docker-compose.ymlversion: '3'
services:
data-science:
restart: always
build: .
container_name: 'data-science'
ports:
- "10000:10000"
working_dir: '/root/'
tty: true
volumes:
- ./notebooks:/root/notebooks/
4. 컨테이너 빌드
$ docker-compose up -d --build
5. 컨테이너에 로그인
$ docker-compose exec data-science bash
6. Jupyter Notebook 시작
/root# jupyter notebook --port 10000 --allow-root
나타나는 http://127.0.0.1:10000/?token=xxxxxxxxxxxxxxxx
로 이동합니다.
7. VIM 바인딩 확장을 사용하도록 설정
디폴트라면 익스텐션의 설정에 disable
에 체크가 들어가 있으므로 체크를 해제해 유효하게 합니다.
이제 노트북에서 vim을 사용할 수 있습니다.
마지막으로
Jupyter Notebook에서 vim의 키 바인딩을 사용할 수 있도록 하는 방법은 상당히 정리되어 있었습니다만, 여러가지 시험하고 있으면 이외라고 빠진 부분도 있었으므로 자신 나름대로 정리해 보았습니다.
이것으로 쾌적한 Notebook을 쓸 수 있을 것 같습니다!
(단지 이번에는 유저를 모두 root로 해 버렸기 때문에 그 근처는 바꾸는 것이 좋을지도 모릅니다.)
참고
버전
Mac
10.15.3
도커
19.03.4
docker-compose
1.24.1
환경 구축 절차
Dockerfile과 docker-compose를 사용하여 vim의 키 바인딩을 사용할 수있는 Jupyter Notebook을 시작합니다.
※이하 파일은 GitHub에도 정리하고 있으므로 참고해 주십시오.
htps : // 기주 b. 코 m / 히카루 t / 쥬 py 테 r의 테보오 k
1. notebook 저장을 위한 디렉토리 생성
$ mkdir notebooks
2. Dockerfile 만들기
DockerfileFROM jupyter/minimal-notebook:latest
USER root
RUN pip install jupyter_contrib_nbextensions && \
jupyter contrib nbextension install --user && \
git clone https://github.com/lambdalisue/jupyter-vim-binding /home/jovyan/.local/share/jupyter/nbextensions/vim_binding && \
jupyter nbextension enable vim_binding/vim_binding
EXPOSE 10000
CMD ["bash"]
※ jupyter-vim-binding
리포지토리의 클론처는 커맨드 jupyter의 path와 맞추어야 합니다. ( jupyter --path
명령으로 확인할 수 있습니다)
3. docker-compose.yml 만들기
docker-compose.ymlversion: '3'
services:
data-science:
restart: always
build: .
container_name: 'data-science'
ports:
- "10000:10000"
working_dir: '/root/'
tty: true
volumes:
- ./notebooks:/root/notebooks/
4. 컨테이너 빌드
$ docker-compose up -d --build
5. 컨테이너에 로그인
$ docker-compose exec data-science bash
6. Jupyter Notebook 시작
/root# jupyter notebook --port 10000 --allow-root
나타나는 http://127.0.0.1:10000/?token=xxxxxxxxxxxxxxxx
로 이동합니다.
7. VIM 바인딩 확장을 사용하도록 설정
디폴트라면 익스텐션의 설정에 disable
에 체크가 들어가 있으므로 체크를 해제해 유효하게 합니다.
이제 노트북에서 vim을 사용할 수 있습니다.
마지막으로
Jupyter Notebook에서 vim의 키 바인딩을 사용할 수 있도록 하는 방법은 상당히 정리되어 있었습니다만, 여러가지 시험하고 있으면 이외라고 빠진 부분도 있었으므로 자신 나름대로 정리해 보았습니다.
이것으로 쾌적한 Notebook을 쓸 수 있을 것 같습니다!
(단지 이번에는 유저를 모두 root로 해 버렸기 때문에 그 근처는 바꾸는 것이 좋을지도 모릅니다.)
참고
$ mkdir notebooks
FROM jupyter/minimal-notebook:latest
USER root
RUN pip install jupyter_contrib_nbextensions && \
jupyter contrib nbextension install --user && \
git clone https://github.com/lambdalisue/jupyter-vim-binding /home/jovyan/.local/share/jupyter/nbextensions/vim_binding && \
jupyter nbextension enable vim_binding/vim_binding
EXPOSE 10000
CMD ["bash"]
version: '3'
services:
data-science:
restart: always
build: .
container_name: 'data-science'
ports:
- "10000:10000"
working_dir: '/root/'
tty: true
volumes:
- ./notebooks:/root/notebooks/
$ docker-compose up -d --build
$ docker-compose exec data-science bash
/root# jupyter notebook --port 10000 --allow-root
Jupyter Notebook에서 vim의 키 바인딩을 사용할 수 있도록 하는 방법은 상당히 정리되어 있었습니다만, 여러가지 시험하고 있으면 이외라고 빠진 부분도 있었으므로 자신 나름대로 정리해 보았습니다.
이것으로 쾌적한 Notebook을 쓸 수 있을 것 같습니다!
(단지 이번에는 유저를 모두 root로 해 버렸기 때문에 그 근처는 바꾸는 것이 좋을지도 모릅니다.)
참고
Reference
이 문제에 관하여(Docker로 시작한 Jupyter Notebook에서 vim 키 바인딩 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hikarut/items/b3bd9344dc217e1918c4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)