Windows 11 WSL2 이용한 Python Jupyter 설치 및 내·외부에서 접속

개요 및 참고 자료

주요 기본 환경 설정은 Windows 11 WSL2 이용한 SSH & RStudio Server 설치 및 내·외부에서 접속 글을 참고하면 되며 추가로 아래와 같은 내용 역시도 참고했다.

상기 추가 참고한 내용과 실제 설치를 위해 경험한 내용을 순서대로 요약하면 다음과 같다.


1단계: WSL2 환경에서 Python 및 Jupyter 패키지 설치

  1. WSL2 터미널 실행
  2. sudo apt install python3-pip 입력
  3. sudo pip3 install jupyter 입력
  4. jupyter --version 입력 후 ‘not installed‘ 설치 여부 판단, 본인의 경우 jupyter_server와 jupyterlab 혹시 몰라 추가 설치 후 진행
    • 설치 중 ERROR: nbconvert 6.5.0 has requirement jinja2>=3.0, but you'll have jinja2 2.10.1 which is incompatible. 확인 시 sudo pip3 install nbconvert 입력으로 해결
    • 설치 중 ERROR: jupyterlab-server 2.14.0 has requirement jinja2>=3.0.3, but you'll have jinja2 2.10.1 which is incompatible. 확인 시 sudo pip3 install jupyterlab-server 입력으로 해결
  5. jupyter --version & jupyter --help 각각 입력하여 버전 및 명령 구문 확인

2단계: 1차 구동 및 로컬 브라우저 접속 확인 (localhost:8888)

  1. jupyter-notebook 입력하여 1차 구동
  2. 내부 브라우저에서 http://localhost:8888 또는 http://127.0.0.1:8888 입력하여 접속 여부 확인 ⇒ 아래와 같은 화면이 나올 경우 내부 접속 성공!!!
    Jupyter 토큰 인증 안내 화면 — Password or token 입력란과 Setup a Password 섹션
  3. Ctrl-C 입력 후 y 클릭하여 서버 중지

3단계: Jupyter 환경설정 파일 및 접속 암호 해시 생성 (ipython)

  1. jupyter-notebook --generate-config 입력하여 configuration 파일 생성, 본인의 경우 /home/<사용자 계정>/.jupyter/jupyter_notebook_config.py 생성
  2. ipython 입력하여 대화형 셸에서 비밀번호 해시 생성
    1. from notebook.auth import passwd from jupyter_server.auth import passwd 입력
    2. passwd() 입력
    3. Enter password: WSL2 생성 시 입력했던 암호 입력
    4. Verify password: 부분에 Enter password: 입력했던 암호와 동일한 암호 입력
    5. 작은 따옴표 (‘ ‘) 사이의 암호값 복사, 본인의 경우 argon2:어쩌구저쩌구어쩌구저쩌구어쩌구저쩌구어쩌구저쩌구어쩌구저쩌구어쩌구저쩌구어쩌구저쩌구어쩌구저쩌구어쩌구저쩌구 생성
    6. quit() 입력
  3. mkdir jupyter 입력하여 작업 경로에 해당하는 디렉토리 생성

4단계: 외부 접속 허용 및 루트 디렉터리 설정 (jupyter_notebook_config.py)

vi /home/<사용자 계정>/.jupyter/jupyter_notebook_config.py 입력 후 아래와 같이 설정값들을 수정한다.

  • from # c.NotebookApp.allow_origin = '' # c.ServerApp.allow_origin = ''
    to c.NotebookApp.allow_origin = '*' # 외부 접속 허용 c.ServerApp.allow_origin = '*' # 외부 접속 허용
  • from # c.NotebookApp.notebook_dir = '' # c.ServerApp.root_dir = ''
    to c.NotebookApp.notebook_dir = '/home/<사용자 계정>/jupyter/' # 작업 경로 설정 c.ServerApp.root_dir = '/home/<사용자 계정>/Documents/<폴더>/jupyter/' # 작업 경로 설정
  • from # c.NotebookApp.ip = 'localhost' # c.ServerApp.ip = 'localhost'
    to c.NotebookApp.ip = '*' # 외부 접속 IP 전체 오픈 c.ServerApp.ip = '*' # 외부 접속 IP 전체 오픈
  • from # c.NotebookApp.port = 8888 # c.ServerApp.port = 0
    to c.NotebookApp.port = 8888 # 외부 접속 포트 지정 c.ServerApp.port = 8888 # 외부 접속 포트 지정
  • from # c.NotebookApp.password = '' # c.ServerApp.password = ''
    to c.NotebookApp.password = '' c.ServerApp.password = 'argon2:어쩌구저쩌구어쩌구저쩌구어쩌구저쩌구어쩌구저쩌구어쩌구저쩌구어쩌구저쩌구어쩌구저쩌구어쩌구저쩌구어쩌구저쩌구' ⇒ 3단계 2번(v)에서 생성된 비밀번호 입력
  • from # c.NotebookApp.password_required = False # c.ServerApp.password_required = False
    to c.NotebookApp.password_required = True # 비밀번호 요구 c.ServerApp.password_required = True # 비밀번호 요구
  • from # c.NotebookApp.open_browser = True # c.ServerApp.open_browser = False
    to c.NotebookApp.open_browser = False # 서버 PC에서 자동으로 브라우저가 열리지 않도록 설정 c.ServerApp.open_browser = False # 서버 PC에서 자동으로 브라우저가 열리지 않도록 설정

5단계: WSL2 외부 포트포워딩 연동 및 외부 접속 검증

  1. Windows 11 WSL2 이용한 SSH & RStudio Server 설치 및 내·외부에서 접속 글의 wsl2-connect-external.ps1 파일과 autostart_ubuntu.bat 파일 각각에 아래 내용 추가
    • wsl2-connect-external.ps1: #[Ports] 부분 $ports=@(8787,원하는PortNumber1,원하는PortNumber2,..., 8888); 포트 번호 8888 추가
    • autostart_ubuntu.bat: 맨 마지막 행에 wsl -u <사용자 계정> -- jupyter notebook 추가
  2. jupyter-notebook 입력하여 서버 재실행, 혹은 nohup jupyter-notebook & 입력 후 Enter 입력
  3. 외부 브라우저에서 접속 확인 ⇒ 아래와 같이 접속이 되면 외부 접속까지 성공!!!
    브라우저에서 Jupyter Notebook 로그인 화면 — Password 입력란과 Log in 버튼
  4. Password 부분에는 3단계 2번(iii, iv)에서 생성하고 확인한 비밀번호 입력

※ 공유기 내 특정 PC와 연결하고 싶을 경우에는 공유기에서 Port Forwading 설정이 필요하다는 사실은 비밀!

조회수: 34

댓글 남기기