3 min read

[Python] GCP ubuntu에 아나콘다 설치 및 jupyter 자동 실행

GCP에서 구축한 Compute Engine에 콘다를 설치 해보자. 추가로 이번에 Jupyter notebook에 데몬 프로세스를 추가 해서 서버가 켜질때마다 자동으로 주피터도 같이 실행 하는 방법을 알아보려고 한다. 이 블로그는 다음의 선 작업이 진행된 후에 작업을 하는 것이 적합하다.

아나콘다 설치

우선 아나콘다를 설치 해보자. 주피터를 따로 설치 해주어도 좋지만, 아나콘다에 주피터가 있기때문에 콘다를 설치하면서 이를 해결 하려고 한다. 환경은 Ubuntu Linux 이므로 기존에 윈도우에서 설치 하는방법과는 다르다. 우선 아나콘다의 버전별 링크를 접속 해보자.

그리고 이곳에 접속 하게 되면 운영체제와 날짜에 따른 아나콘다의 버젼 링크들을 확인할 수 있다. 복사한 후에 리눅스 커맨드창에서 마우스 우클릭으로 붙여넣기 해주면 된다.

$ wget https://repo.anaconda.com/archive/Anaconda3-2023.07-1-Linux-x86_64.sh
$ bash Anaconda3-2023.07-1-Linux-x86_64.sh

설치가 완료 되었으면 이제 아나콘다의 환경을 설정해주자. vi 편집기를 사용해 bashrc 에서 편집을 해주면 된다.

$ vi ~/.bashrc

그리고 이곳에서 다음과 같이 입력 해주고 esc+shift+;를 한꺼번에 눌러서 저장하고 나가는 wq(write quit) 옵션을 입력해 주어 밖으로 빠져나가자.

$ export PATH=/home/{계정명}/anaconda3/bin:$PATH

환경을 설정 했으면 서버를 재시작 또는 다음의 커맨드로 이를 적용 해주면 된다.

$ source ~/.bashrc

주피터 설정

비밀번호 설정

콘다 설치가 완료 되었으면 이제 주피터 옵션을 설정 해주자. 우선 비밀번호를 만들어 주자. 커맨드 창에서 ipython 을 입력하면 주피터 설정화면으로 넘어가게 된다.

$ ipython

그리고 다음과 같이 비밀번호를 세팅 해주면 비밀번호 토큰 값을 얻게 된다. 이를 잘 복사해서 저장해주자. 그리고 exit하고 빠져나가자.

In [1]: from notebook.auth import passwd

In [2]: passwd()
Enter password:
Verify password:
Out[2]: '비밀번호 토큰'
In [3]: exit

이제 주피터 파일을 설정을 해보자. 다음 코드를 입력하여 주피터 config 파일을 설정 해주면 끝이난다.

$ jupyter notebook --generate-config 
$ vi ~/.jupyter/jupyter_notebook_config.py 

그러면 다음과 같은 형태로 입력 해주면 끝이 난다.

c.NotebookApp.allow_root = True
c.NotebookApp.ip = '0.0.0.0'
c.NotebookApp.notebook_dir = '/home/{계정명}'
c.NotebookApp.password = '비밀번호 토큰'

그리고 주피터를 실행 해주면 성공. 실행 방법은 다음과 같다.

  • (GCP 외부 IP):8888
jupyter notebook

Daemon 프로세스 설정

이렇게 주피터를 설치 했으니 Daemon 프로세스를 설정 해주자. 이는 매번 서버를 껐다 켰다 할때마다 주피터 노트북을 실행하기가 번거로우니 하는 작업이다.

우선 주피터 노트북의 위치를 찾아 보자. 그럼 다음과 같은 형태로 출력이 되는데 이를 잘 복사 해주자.

$ which jupyter notebook
/home/{계정명}/anaconda3/bin/jupyter

서비스 파일 생성

이제 서비스 파일을 생성해보자. 다음의 커맨드를 입력 해준다.

$ sudo vi /etc/systemd/system/jupyter.service

이제 jupyter.service의 편집기가 나오는데 다음의 형식 그대로 복사해서 넣어 주면 된다.

[Unit]
Description=Jupyter Notebook Server

[Service]
Type= Jupyter_notebook_service
PIDFile=/run/jupyter.pid
User= {계정명}
ExecStart=/home/{계정명}/anaconda3/bin/jupyter-notebook  
WorkingDirectory=/home/{계정명}/

[Install]
WantedBy=multi-user.target

이번에도 입력을 했으면 esc+shift+;를 한꺼번에 눌러서 저장하고 나가는 wq (write quit) 옵션을 입력해 주면 된다.

서비스 파일 등록

이제 이 서비스 파일을 등록 해주자. 다음의 커맨드를 입력 해주면 된다.

$ sudo systemctl enable jupyter.service

서비스 등록 확인

서비스가 잘 등록 되었는지 확인하면 끝이다.

$ sudo systemctl start jupyter

총평

이번에는 GCP Compute Engine에 주피터를 설치 하고 서버가 켜질때마다 자동으로 실행되도록 Daemon 을 설정 해주었다. 지난번에 GCP 구축 하면서 했어야 하는 블로그이지만 깜빡하고 있다가 이번에 글을 작성한다.