Ubuntu 22.04에 Python 3용 Jupyter Notebook 설정하는 방법

소개

Jupyter Notebook은 웹 애플리케이션으로 대화형 컴퓨팅을 위한 명령 셸을 제공합니다. 이 도구는 Python, Julia, R, Haskell 및 Ruby를 포함한 여러 언어와 함께 사용할 수 있습니다. 주로 데이터 처리, 통계 모델링 및 머신 러닝 작업에 사용됩니다.

이 자습서에서는 Jupyter Notebook을 로컬 또는 Ubuntu 22.04 서버에서 실행하는 방법을 안내하고 노트북에 연결하고 사용하는 방법을 가르쳐 드릴 것입니다. Jupyter 노트북(또는 간단히 노트북)은 컴퓨터 코드와 풍부한 텍스트 요소(문단, 수식, 그림, 링크 등)를 모두 포함하는 Jupyter Notebook 앱에 의해 생성된 문서로, 재현 가능한 연구를 제시하고 공유하는 데 도움이 됩니다.

이 가이드를 마치면 로컬 컴퓨터 또는 원격 서버에서 실행되는 Jupyter Notebook을 사용하여 Python 3 코드를 실행할 수 있게 될 것입니다.

필수 사항

이 자습서를 따르려면 Python 3 프로그래밍 환경과 Python venv 모듈이 필요합니다. 현재

이 튜토리얼의 모든 명령은 루트 권한이 필요한 경우를 제외하고 일반 사용자로 실행되어야 합니다. 명령 앞에 sudo가 필요한 경우가 있습니다. 우분투 22.04의 초기 서버 설정에서 사용자 추가 및 sudo 액세스 부여 방법을 설명합니다.

단계 1 — 주피터 노트북 설치

이 섹션에서는 pip를 사용하여 주피터 노트북을 설치합니다.

주피터 노트북을 설치할 Python 3 프로그래밍 환경을 활성화합니다. 예를 들어, my_env 환경에 설치하려면 해당 환경 디렉토리로 이동하여 다음과 같이 활성화합니다:

  1. cd ~/environments
  2. . my_env/bin/activate

다음으로, pip가 최신 버전으로 업그레이드되었는지 확인할 수 있습니다:

  1. pip install --upgrade pip

이제 다음 명령을 사용하여 주피터 노트북을 설치할 수 있습니다:

  1. pip install jupyter

이 시점에서 주피터 노트북이 현재 프로그래밍 환경에 설치됩니다.

다음 선택적 단계는 SSH 터널링을 사용하여 웹 인터페이스의 서버 설치에 연결하는 경우입니다.

단계 2 (선택 사항) — 서버 설치에 연결하기 위해 SSH 터널링 사용하기

원격 서버에 Jupyter Notebook을 설치한 경우 SSH 터널링을 사용하여 Jupyter Notebook 웹 인터페이스에 연결해야 합니다. Jupyter Notebook은 리모트 서버의 특정 포트(예: :8888, :8889 등)에서 브라우저 인터페이스를 실행하는데, 이는 기본적으로 네트워크에 노출되지 않습니다. SSH 터널링을 사용하면 원격 서버 포트에 안전하게 연결할 수 있으며, 이를 로컬 웹 브라우저를 사용하여 액세스할 수 있습니다.

이 지침은 로컬 터미널 창에서 실행되도록 설계되었으며, 즉 서버에 연결된 터미널 창이 아닙니다.

SSH 터널링

Windows를 사용하는 경우 터미널에서 ssh를 실행하려면 OpenSSH 버전을 설치해야 합니다. PowerShell에서 작업하는 것을 선호하는 경우, Microsoft의 문서를 따라 PowerShell에 OpenSSH를 추가할 수 있습니다. 전체 Linux 환경을 사용하고 싶다면 기본적으로 ssh가 포함된 Windows 하위 시스템인 WSL(Windows Subsystem for Linux)을 설정할 수 있습니다. 마지막으로 가벼운 세 번째 옵션으로는 ssh 명령을 포함하는 네이티브 Windows bash 터미널 환경을 제공하는 Git for Windows를 설치할 수 있습니다. 이들 모두가 잘 지원되며 사용할 옵션은 개인 취향에 따라 결정됩니다.

Mac이나 Linux를 사용하는 경우 이미 터미널에서 ssh 명령을 사용할 수 있습니다.

SSH 터널을 생성하는 단계는 SSH 명령에 추가 매개변수가 포함되어 있을 뿐 How to Connect to Droplets with SSH 가이드와 유사합니다. 이 하위 섹션에서는 터널을 성공적으로 만들기 위해 ssh 명령에 추가되어야 하는 추가 매개변수를 개요로 설명합니다.

새로운 로컬 터미널 창에서 다음 SSH 명령을 실행하여 SSH 터널링을 수행할 수 있습니다.

  1. ssh -L 8888:localhost:8888 your_server_username@your_server_ip

ssh 명령어는 SSH 연결을 엽니다. 그러나 -L은 로컬(클라이언트) 호스트의 지정된 포트를 원격 측(서버)의 지정된 호스트 및 포트로 전달한다는 것을 나타냅니다. 이는 서버의 두 번째 포트 번호(예: 8888)에서 실행 중인 내용이 로컬 컴퓨터의 첫 번째 포트 번호(예: 8888)에 나타난다는 것을 의미합니다.

포트 8888이 사용할 수 없다는 메시지를 받으면 65535 미만의 다른 임의의 포트 번호로 변경할 수 있습니다. 포트 8888은 중요한 의미가 없지만 이와 같은 데모에 자주 사용됩니다.

server_username은 서버에서 생성한 사용자 이름입니다(예: sammy). your_server_ip은 서버의 IP 주소입니다.

예를 들어, 사용자 이름이 sammy이고 서버 주소가 your_server_ip인 경우 명령어는 다음과 같습니다:

  1. ssh -L 8888:localhost:8888 sammy@your_server_ip

ssh -L 명령어를 실행한 후 오류가 표시되지 않으면 프로그래밍 환경으로 이동하여 Jupyter Notebook을 실행할 수 있습니다:

  1. jupyter notebook

URL로 출력이 표시됩니다. 로컬 머신의 웹 브라우저에서 http://localhost:8888로 시작하는 URL을 사용하여 Jupyter Notebook 웹 인터페이스를 엽니다. 토큰 번호가 포함되어 있는지 확인하거나 http://localhost:8888에서 프롬프트가 나타날 때 토큰 번호 문자열을 입력하세요.

단계 3 — 주피터 노트북 실행하기

주피터 노트북을 설치했다면 터미널에서 실행할 수 있습니다. 다음 명령을 실행하십시오:

  1. jupyter notebook

A log of the activities of the Jupyter Notebook will be printed to the terminal. When you run Jupyter Notebook, it runs on a specific port number. The first notebook you are running will usually run on port 8888. To check the specific port number Jupyter Notebook is running on, refer to the output of the command used to start it:

Output
[I NotebookApp] Serving notebooks from local directory: /home/sammy [I NotebookApp] 0 active kernels [I NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/ [I NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). ...

만약 로컬 컴퓨터에서 주피터 노트북을 실행 중이라면(서버가 아닌 경우), 기본 웹 브라우저가 주피터 노트북 웹 앱을 열어야 합니다. 그렇지 않은 경우 또는 창을 닫은 경우, 출력에서 제공된 URL로 이동하거나 localhost:8888로 이동하여 연결할 수 있습니다.

주피터 노트북 프로세스를 중지하려면 언제든지 Ctrl+C를 누르고 프롬프트가 표시되면 Y를 입력한 다음 Enter를 누르십시오.

다음과 같은 출력이 표시됩니다:

Output
[C 12:32:23.792 NotebookApp] Shutdown confirmed [I 12:32:23.794 NotebookApp] Shutting down kernels

주피터 노트북은 이제 더 이상 실행되지 않습니다.

단계 4 — 주피터 노트북 사용하기

이 섹션은 주피터 노트북 사용의 기본 사항을 다룹니다. 현재 주피터 노트북을 실행 중이 아니라면 jupyter notebook 명령으로 시작하십시오.

지금은 웹 브라우저를 사용하여 연결되어 있어야합니다. Jupyter Notebook은 매우 강력하며 많은 기능을 갖추고 있습니다. 이 섹션에서는 노트북을 사용하기 시작하는 데 필요한 몇 가지 기본 기능을 설명하겠습니다. Jupyter Notebook은 실행되는 디렉토리의 모든 파일과 폴더를 표시하므로 프로젝트에서 작업할 때는 프로젝트 디렉토리에서 시작하십시오.

새 노트북 파일을 만들려면 오른쪽 상단 드롭다운 메뉴에서 새로 만들기 > Python 3를 선택하십시오:

이렇게하면 노트북이 열립니다. 이제 셀에서 Python 코드를 실행하거나 셀을 마크다운으로 변경할 수 있습니다. 예를 들어 첫 번째 셀을 마크다운으로 변경하려면 상단 탐색 모음에서 > 셀 유형 > 마크다운을 클릭하십시오. 이제 마크다운을 사용하여 노트를 작성하고 $$ 기호 사이에 작성된 LaTeX 방정식을 포함할 수 있습니다. 예를 들어 다음을 마크다운으로 변경한 셀에 입력하십시오:

# 간단한 방정식

Let us now implement the following equation:
$$ y = x^2$$

where $x = 2$

마크다운을 서식 있는 텍스트로 변환하려면 Ctrl+Enter를 누르면 다음 결과가 나옵니다:

마크다운 셀을 사용하여 코드에 주석을 추가하고 문서화할 수 있습니다. 간단한 방정식을 구현하고 결과를 출력해 보겠습니다. 상단 셀을 클릭한 다음 Alt+Enter를 눌러 그 아래에 셀을 추가하십시오. 새 셀에 다음 코드를 입력하십시오.

x = 2
y = x**2
print(y)

코드를 실행하려면 Ctrl+Enter를 누르십시오. 다음 결과가 표시됩니다:

이제 모듈을 가져올 수 있고 노트북을 다른 Python 개발 환경과 동일하게 사용할 수 있습니다!

Jupyter 노트북 서버 측을 종료하려면 시작한 터미널 창으로 돌아가서 Ctrl+C를 누르세요. 이것은 터미널 프로세스를 종료하는 표준 바로 가기이며 Jupyter가 종료하기 전에 저장하라는 메시지가 표시됩니다.

결론

축하합니다! 이제 Jupyter Notebook을 사용하여 Markdown으로 재현 가능한 Python 코드와 노트를 작성할 수 있어야 합니다. 인터페이스 내에서 Jupyter Notebook에 대한 빠른 소개를 받으려면 상단 네비게이션 메뉴에서 도움말 > 사용자 인터페이스 투어를 선택하여 자세히 알아보세요.

여기서부터 시계열 시각화 및 예측 시리즈를 읽을 수 있을 것입니다.

Source:
https://www.digitalocean.com/community/tutorials/how-to-set-up-jupyter-notebook-for-python-3