atom 사용을 위한 docker와 Hydrogen으로 간편한 python 환경 구축

atom을 사용하고 싶습니다.



docker를 사용하면 쉽게 jupyter를 사용할 수있는 파이썬 환경을 얻을 수 있습니다. 단지 jupyter를 그대로 사용하고 싶지 않다는 수수께끼의 조건이 있다.
파이썬을 쓸 때의 환경은 jupyter notebook이 편리. 최근이라고 jupyterLab 어쩐지 확장 기능이라도 있어 즐거운 것 같다. (참고: htps : // m / kanno ck16 / ms / d166c93087 A4 Afd2db4 )

그러나 나는 atom을 사용하고 싶다. 특별한 이유는 없지만 atom을 사용하고 싶습니다.

파이썬에 관해서는 atom에 Hydrogen이라는 패키지를 도입하면 jupyter 라이크에 출력을 얻을 수 있다. 다만, SSH로 리모트 머신에 접속하거나, docker 컨테이너상의 커널에 접속하는 경우 다소의 설정이 필요하게 된다.
이번에는 여러 가지 환경이 엉망이 되었기 때문에 docker에 python 환경을 준비하고 atom에서 Hydrogen을 사용하는 환경을 갖추었으므로 그 흐름을 메모에 남깁니다.

docker 컨테이너 시작



docker image를 스스로 준비할 시간이 없었기 때문에, jupyter 환경이 처음부터 구축하고 있는 image를 사용하게 했다. docker hub에 여러 가지가 있지만, 자신은 jupyter/scipy-notebook 을 사용하게 했다.
자세한 내용은 생략하겠습니다.
1.docker 이미지를 pull
docker pull jupyter/scipy-notebook

2.docker 이미지를 실행
docker run -p 8888:8888 -v ~/hoge:/home/jovyan/work jupyter/scipy-notebook start-notebook.sh --NotebookApp.token='yourtoken'

선택적으로,
  • -p: 컨테이너의 포트를 호스트측에 공개해 포트 포워딩. 이 예에서는 로컬 8888과 컨테이너 8888을 포트 포워딩합니다.
  • -v: 볼륨을 마운트합니다. 폴더 동기화를 위해. 예제에서는 로컬 hoge와 컨테이너의 home/jovyan/work를 마운트합니다.
  • start-notobook.sh : jupyter 명령을 사용하는 데 필요한 옵션.
  • NotebookApp.token="yourtoken": jupyter측의 명령으로, token을 지정

  • token은 지정하지 않으면 매번 바뀌므로 지정하는 것을 추천.
    여기에서
    Executing the command: jupyter notebook --NotebookApp.token=yourtoken
    [I 14:19:25.923 NotebookApp] Writing notebook server cookie secret to /home/jovyan/.local/share/jupyter/runtime/notebook_cookie_secret
    [I 14:19:27.362 NotebookApp] JupyterLab extension loaded from /opt/conda/lib/python3.7/site-packages/jupyterlab
    [I 14:19:27.362 NotebookApp] JupyterLab application directory is /opt/conda/share/jupyter/lab
    [I 14:19:27.365 NotebookApp] Serving notebooks from local directory: /home/jovyan
    [I 14:19:27.366 NotebookApp] The Jupyter Notebook is running at:
    [I 14:19:27.367 NotebookApp] http://(***):8888/?token=…
    [I 14:19:27.367 NotebookApp]
    Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
    

    그리고 나와서 docker 컨테이너 위에 jupyter kernel을 기동할 수 있었다.

    여기까지 할 수 있으면, Hydrogen에의 설정에.

    Hydrogen 준비



    조사하면 많이 정중하게 설명해 주는 기사가 있으므로 Hydrogen의 설치 등은 생략한다. ( 여기라든가 )

    atom의 pacage에서 Hydrogen의 설정 화면으로 가서 Kernel Gateway라는 곳에 이런 느낌으로 기입.


    name은 자신이 좋아하는 것을, baseUrl은 docker를 시작했을 때 나온 url을 copipe, token은 스스로 설정한 token을 기입.
    자세한 것은 여기 참조.

    Hydrogen에서 원격 커널에 연결


  • atom 화면에서 명령 팔레트를 열고 Hydrogen:Connect To Remote Kernel을 선택합니다.

    2.remote kernel이 발견되면 다음과 같이 나오므로 사용하고 싶은 커널을 선택.


  • 3. 세션을 선택.


    여기까지 할 수 있으면, 나머지는 통상의 Hydrogen과 같이 사용할 수 있을 것.

    요약



    Hydrogen을 사용하면, atom의 에디터 기능을 사용하면서 jupyter의 인터랙티브한 기능을 충분히 사용할 수 있다. jupyter 용 바로 가기를 기억할 필요도 없습니다. docker 사용하면 환경 설정의 필요도 거의 필요 없다. 파이썬 사용하는 사람은 atom과 Hydrogen을 사용합시다.
    (jupyter lab이라든지 진화가 눈에 띄기 때문에, 조금 만져도 좋을까・・・)

    ssh 연결로 원격 머신의 커널을 사용하고 싶을 때도 똑같이 할 수 있다고 생각합니다.

    참고



    Jupyter를 브라우저에서 사용하지 않고 Atom의 Hydrogen으로 전환 한 이야기
    Jupyter의 Docker 이미지 요약
    Hydrogen
    jupyter docker stacks

    좋은 웹페이지 즐겨찾기