gitpod로 jupyternotebook 개발 환경 만들기
소개
gitpod는 github의 저장소를 workspace로로드하는 클라우드 IDE입니다.
docker에서 VScode와 같은 IDE를 실행하는 것 같습니다.
공식 문서
htps //w w. 기트포 d. 이오/도 cs/
gitpod의 특징
구축할 개발 환경
이번에는 다음과 같은 기계 학습 환경을 구축 할 것입니다.
파이썬 3.7의 도커 이미지를 기반으로
jupyternotebook에서 kaggle titanic 시도
gitpod에서 사용할 리포지토리
1. htps : // 기주 b. 이 m / y
2. htps : // 기주 b. 이 m / y t m tym / ml / t 네 / st_do c 케 r
(두 가지 사용 이유는 후술)
gitpod를 사용해 보자.
사용할 github 리포지토리를 열고 URL 머리에 gitpod.io/#
를 붙이십시오 ← 이것만!
그건 그렇고, Chrome 확장 프로그램을 설치하면 한 번의 클릭으로 열 수 있습니다.
이번에 사용할 2 개의 리포지토리에 대한 차이점
결론에서 말하면, test tree에서는 환경 구축에 실패했기 때문에 test_docker tree를 사용했습니다.
test tree
기본적으로 설정된 gitpod docker 환경의 저장소
이 환경에서 virtualenv로 만든 python 가상 환경을 읽으려고했지만 좋지 않았습니다.
(파이썬 가상 환경을 컨테이너에 복사해도 컨테이너 내에서 참조되지 않는 것 같습니다)
gitpod /workspace/ml $ cat /etc/os-release
NAME="Ubuntu"
VERSION="19.04 (Disco Dingo)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 19.04"
VERSION_ID="19.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=disco
UBUNTU_CODENAME=disco
gitpod /workspace/ml $ python -V
Python 2.7.15
gitpod /workspace/ml $ source .myvenv/bin/activate
(.myvenv) gitpod /workspace/ml $ python -V
Python 2.7.15
세 시스템이 아니며 pip 라이브러리도 설치되지 않았습니다.
test_docker tree
테스트 트리에 다음 두 파일을 추가했습니다.
gitpod /workspace/ml $ cat /etc/os-release
NAME="Ubuntu"
VERSION="19.04 (Disco Dingo)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 19.04"
VERSION_ID="19.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=disco
UBUNTU_CODENAME=disco
gitpod /workspace/ml $ python -V
Python 2.7.15
gitpod /workspace/ml $ source .myvenv/bin/activate
(.myvenv) gitpod /workspace/ml $ python -V
Python 2.7.15
.gitpod.Dockerfile
FROM python:3.7
USER root
COPY ["requirements.txt", "/requirements.txt"]
RUN pwd
RUN apt-get -y update && \
pip install --upgrade pip && \
pip install --upgrade setuptools && \
pip install -r requirements.txt
(컨테이너 빌드시의 디폴트 path는
/
이므로, 거기에 requirements.txt
를 copy한다).gitpod.yml
image:
file: .gitpod.Dockerfile
ports:
- port: 8080
onOpen: open-preview
- port: 8888
onOpen: open-browser
(jupyternotebook을 사용할 수 있도록 port8888 사용)
두 개의 파일을 추가하면 gitpod 환경을 설정할 수 있습니다.
test_docker 리포지토리에서 gitpod 사용
이제 URL 머리에
gitpod.io/#
를 추가하십시오.초회시의 주의점으로서,
- 인증이 필요하므로 허용
- 내부적으로 container를 build 하고 있으므로, 처리가 많으면 시간이 걸린다
↓ 조금 기다린다
안전하게 VScode (같은 사람)가 시작되면 완료됩니다.
이제 터미널에서
jupyter notebook --ip=*
명령을 치자.gitpod /workspace/ml $ jupyter notebook --ip=*
[W 07:34:17.085 NotebookApp] WARNING: The notebook server is listening on all IP addresses and not using encryption. This is not recommended.
[I 07:34:17.088 NotebookApp] Serving notebooks from local directory: /workspace/python_env
[I 07:34:17.088 NotebookApp] Jupyter Notebook 6.4.0 is running at:
[I 07:34:17.088 NotebookApp] https://f6dd9c78-9281-4225-bec5-a2c05a810209.ws-ap0.gitpod.io:8888/?token=e4acea7f5f530d16bf660f914e13d8308fc2cc33ac5fffc1
[I 07:34:17.088 NotebookApp] or http://127.0.0.1:8888/?token=eb377d6f673c4f5ec0fe4ca5b994f5956be12be6dbb8c6a4
[I 07:34:17.088 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 07:34:17.093 NotebookApp]
To access the notebook, open this file in a browser:
file:///home/gitpod/.local/share/jupyter/runtime/nbserver-288-open.html
Or copy and paste one of these URLs:
http://f6dd9c78-9281-4225-bec5-a2c05a810209.ws-ap0.gitpod.io:8888/?token=eb377d6f673c4f5ec0fe4ca5b994f5956be12be6dbb8c6a4
or http://127.0.0.1:8888/?token=eb377d6f673c4f5ec0fe4ca5b994f5956be12be6dbb8c6a4
팝업이 차단되지 않으면 다른 탭에서 jupyter notebook이 열립니다.
또는 Open Browser를 클릭하십시오.
또는 htps // 8888-f6-d9c78-9281-4225-be c5-2c05-810209. ws- 오 p0. 기트포 d. 이오/오긴 방문
로그인 화면이 표시되면 token을 입력하십시오.
이번에는 아래와 같이 터미널에 표시되므로,
http://localhost:8888/?token=eb377d6f673c4f5ec0fe4ca5b994f5956be12be6dbb8c6a4
여기를 입력하십시오.
eb377d6f673c4f5ec0fe4ca5b994f5956be12be6dbb8c6a4
무사히 jupyter notebook가 열렸습니다! 이상입니다.
추가
코멘트 받고, 이하를 수정했습니다.
jupyter 시작 명령을 jupyter notebook --ip=*로 변경
--ip=*
옵션을 지정하지 않으면 jupyter notebook에서 파일을 새로 만들고 수정할 수 없으며 다음 오류가 반환되는 것으로 나타났습니다.[W 07:31:25.900 NotebookApp] Blocking Cross Origin API request for /api/contents. Origin: https://8888-amethyst-vicuna-c6nx02vq.ws-us11.gitpod.io, Host: localhost:8888
[W 07:31:25.900 NotebookApp] Not Found
[W 07:31:25.901 NotebookApp] 404 POST /api/contents (::1) 2.050000ms referer=https://8888-amethyst-vicuna-c6nx02vq.ws-us11.gitpod.io/tree?
기본적으로 액세스할 수 있는 IP 주소는 localhost뿐이며 CORS 구성에서는 Origin이 다른 경우 차단되는 것 같습니다.
이번에는 액세스 소스 (브라우저)와 액세스 대상 (workspace)의 IP 주소는 동일하지만 Origin이 다르기 때문에 발생했습니다.
--ip=*
옵션을 붙이면 위를 해결할 수있었습니다.Reference
jupyternotebook을 쉽게 열기
htps : // 기주 b. 코 m / 진 s t 코모다 / 다 sh an d 쥬 py r r의 taboo k-u th-gi tpo d
파이썬 가상 환경 디렉토리를 이동 한 결과
htps : // 놀라운 l. 코m/쿠에 s치온 s/99419
Reference
이 문제에 관하여(gitpod로 jupyternotebook 개발 환경 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yumenomatayume/items/14de67dc64b3c47704e8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)