어떻게 Winsows 서비스 방식 으로 JupyterLab 을 실행 합 니까?

데이터 분석,데이터 발굴,그리고 기계 학습 과 실천 경험 을 깊이 있 게 배 운 독자 들 은 Jupyter Notebook 이라는 도구 에 대해 잘 알 고 있 을 것 이다.Jupyter Lab 은 업그레이드 버 전 으로 더욱 확장 적 이 고 맞 춤 형 기능 옵션 을 제공 했다.
JupyterLab 을 시작 하 는 방법 은 Jupyter Notebook 만큼 간단 합 니 다.
응용 설치

pip install jupyterlab
응용 시작

jupyter lab
그러나 이러한 작업 은 문 제 를 가 져 올 수 있 습 니 다.브 라 우 저 로 JupterLab 응용 창 을 여 는 동시에 명령 행 창 이 똑 같이 열 려 있 는 상 태 를 항상 보장 해 야 합 니 다.다음 그림 에서 보 듯 이:

이런 문 제 를 해결 하려 면 JupyterLab 을 Windows Service 로 실행 해 야 합 니 다.
파 이 썬 코드 가 윈도 시스템 에 서 비 스 를 만 들 려 면 win32serviceutil 이라는 라 이브 러 리 를 사용 해 야 합 니 다.
라 이브 러 리 설치

pip install pywin32
서비스 코드
다음 코드 를 jupyterlabservice.py 파일 로 저장 하고 설정 디 렉 터 리 아래 에 두 십시오.예 를 들 어C:\Users\Ken\.jupyter.

import inspect
import logging
import os
import win32serviceutil
from jupyterlab.labapp import JupyterApp, LabApp

current_file = os.path.abspath(inspect.getfile(inspect.currentframe()))
os.chdir(os.path.dirname(current_file))


class JupyterLabService(win32serviceutil.ServiceFramework):

  _svc_name_ = "JupyterLab"
  _svc_display_name_ = "Jupyter Lab Service"
  _svc_description_ = "Jupyter Lab Service"

  def __init__(self, args):
    super().__init__(args)
    self.app = LabApp()

  def _init_lab(self):
    JupyterApp.initialize(self.app)
    self.app.init_configurables()
    self.app.init_components()
    self.app.init_webapp()
    self.app.init_terminals()
    self.app.init_server_extensions()
    self.app.init_mime_overrides()
    self.app.init_shutdown_no_activity()

  def SvcDoRun(self):
    self.app.config_dir = "."
    self._init_lab()
    self.app.start()

  def SvcStop(self):
    self.app.stop()

  def SvcShutdown(self):
    self.SvcStop()


if __name__ == '__main__':
  win32serviceutil.HandleCommandLine(JupyterLabService)
서비스 설치

python .\jupyterlabservice.py install
서비스 시작

python .\jupyterlabservice.py start
localhost:8888 사이트 주 소 를 방문 하면 브 라 우 저 에서 JupyterLab 응용 프로그램 을 열 수 있 습 니 다.그러나 이 때 token 인증 이 필요 한 문제 가 발생 할 수 있 습 니 다.아래 그림 과 같 습 니 다.

이 문 제 를 해결 하 는 방법 은 설정 파일 의 token 인 자 를 수정 하 는 것 입 니 다.
우선 설정 디 렉 터 리 에서jupyter_notebook_config.py파일 을 찾 습 니 다.없 으 면 다음 명령 을 통 해 만 들 수 있 습 니 다.
jupyter lab --generate-config
그리고c.NotebookApp.token하 나 를 찾 아 빈 문자열 로 설정 합 니 다.
## Token used for authenticating first-time connections to the server.
#
# The token can be read from the file referenced by JUPYTER_TOKEN_FILE or set
# directly with the JUPYTER_TOKEN environment variable.
#
# When no password is enabled, the default is to generate a new, random token.
#
# Setting to an empty string disables authentication altogether, which is NOT
# RECOMMENDED.
c.NotebookApp.token = ''
해당 서 비 스 를 다시 시작 한 후 localhost:8888 주 소 를 다시 방문 하면 정상 입 니 다.

기본 8888 포트 를 사용 하지 않 으 려 면 c.Notebook App.port 옵션 에서 그 값 을 특정한 포트 번호 로 바 꿀 수도 있 습 니 다.
## The port the notebook server will listen on (env: JUPYTER_PORT).
c.NotebookApp.port = 9999
서 비 스 를 다시 시작 하면 이번 에는 localhost:9999 를 통 해 JuypterLab 애플 리 케 이 션 을 방문 할 수 있 습 니 다.
저자:Ken.W
출처:http://www.cnblogs.com/kenwoo
다음은 어떻게 Winsows Service 방식 으로 JupyterLab 을 실행 하 는 지 에 대한 상세 한 내용 입 니 다.JupyterLab 을 실행 하 는 것 에 관 한 자 료 는 저희 의 다른 관련 글 을 주목 해 주 십시오!

좋은 웹페이지 즐겨찾기