如何以Winsows Service方式运行JupyterLab

有数据分析,数据挖掘,以及机器学习和深度学习实践经验的读者应该会对Jupyter Notebook这一工具十分熟悉,而JupyterLab是它的升级版本,其提供了更具扩展性,更加可定制化的功能选项。

安装与启动JupyterLab的方法与Jupyter Notebook一样简单。

应用安装

pip install jupyterlab

应用启动

jupyter lab

但这样的操作会带来一个问题,在以浏览器打开JupterLab应用窗口的同时,必须始终保证命令行窗口同样处于打开状态。如下图所示:

要想解决这样的问题,需要将JupyterLab以Windows Service的方式运行。

而Python代码要在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.NotebookApp.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的资料请关注我们其它相关文章!

(0)

相关推荐

  • Windows 下更改 jupyterlab 默认启动位置的教程详解

    起序:本文是在 python 自己的虚拟环境下做的,不是在 Anaconda 下做的. 一.安装 想要更改 jupyterlab 的默认启动位置,是不是得先安装 jupyterlab 呀,只需要在自己的 python 虚拟环境 中执行下面命令即可. pip install jupyterlab 二.执行 执行结束后,会在 C:\Users\用户名\.jupyter 目录下找到 jupyter_notebook_config.py. jupyter notebook --generate-conf

  • Python编写Windows Service服务程序

    如果你想用Python开发Windows程序,并让其开机启动等,就必须写成windows的服务程序Windows Service,用Python来做这个事情必须要借助第三方模块pywin32,自己去下载然后安装(注意下载符合自己OS的版本). 1.示例分析 1).幸运的是这里有一个简单的服务模版,足以满足大多数人的要求: #encoding=utf-8 #ZPF import win32serviceutil import win32service import win32event class

  • 以windows service方式运行Python程序的方法

    本文实例讲述了以windows service方式运行Python程序的方法.分享给大家供大家参考.具体实现方法如下: #!/usr/bin/env python # coding: utf-8 # SmallestService.py # # A sample demonstrating the smallest possible service written in Python. import win32serviceutil import win32service import win3

  • 如何以Winsows Service方式运行JupyterLab

    有数据分析,数据挖掘,以及机器学习和深度学习实践经验的读者应该会对Jupyter Notebook这一工具十分熟悉,而JupyterLab是它的升级版本,其提供了更具扩展性,更加可定制化的功能选项. 安装与启动JupyterLab的方法与Jupyter Notebook一样简单. 应用安装 pip install jupyterlab 应用启动 jupyter lab 但这样的操作会带来一个问题,在以浏览器打开JupterLab应用窗口的同时,必须始终保证命令行窗口同样处于打开状态.如下图所示:

  • MongoDB 3.4 安装以 Windows 服务方式运行的详细步骤

    1.首先从https://www.mongodb.com/download-center#community 下载社区版,企业版也是类似. 2.双击运行安装,可自定义安装路径,这里采用默认路径(C:\Program Files\MongoDB\Server\3.4) 一路下一步直至安装完毕. 3.创建数据存放目录(这里我放在D:\MongoDB\data). D:\MongoDB\data创建db目录和log目录,分别用来存放数据库文件和日志文件. 4.创建配置文件mongod.cfg存放在D:

  • Android检测Activity或者Service是否运行的方法

    需求:假设我们的APP有3个页面AActivity,BActivity,CActivity,我们的APP需要一直运行在前台(特殊设备),要求实现一个监控服务,来监视APP是否运行,如果有3个页面都不运行了就说明这个APP已经挂掉了,否则说明APP在运行状态,不做处理,挂掉之后,我们需要重新启动App来让它继续处理运行状态,对外暴露一个来停止监控服务的广播,这样我们想停止监控服务时,发送一个广播即可. 思路:实现一个双进程的监控服务,服务中写一个定时器 Timer 来重复进行检测是否正在运行,如果

  • Linux下以守护进程方式运行.NET6

    前言 ​ 在<步步入门> .NET 6 部署到Linux一文中只是演示了控制终端方式运行ASP.ENT,在实际的应用中,这种方式不能确保服务延续性.如果控制终端关闭,或者服务器重启,都会导致web服务不能正常访问.那要怎么解决这个问题呢? 常见的作法有两种 守护进程 什么是守护进程,简单讲就是不受其他进程影响以后台服务的进程,功能类似Windows服务. 守护进程我们使用Supervisor,详细参考这位博友的文章:ASP.NET Core Linux下为 dotnet 创建守护进程(必备知识

  • pycharm不以pytest方式运行,想要切换回普通模式运行的操作

    有时候系统会以pytest的形式运行,如果不想以这种方式运行,换回普通模式,那么就点击画圈圈那里的白色三角行 点击Edit configurations 点击"-" 出现如下图,点击python 点击左上角的"+",选择Python 查找你所需要执行的文件所在的目录 点击ok 在Name那里写文件名 点击右下角的ok 这时候再观察,发现没有pytest了 右键选run 运行程序 补充知识:pycharm不进入test模式 由于各种原因,pycharm有test字段,

  • 如何将tomcat源码以maven方式运行

    前言 最近在分析tomcat的启动流程,虽然我们可以在idea中查看到tomcat的源代码,但是我们不能在上面做一些代码注释,这就会 非常的不方便,所以我们还是能在本地 运行一份源码,这样非常有利于我们分析源码 一.下载tomcat源码,选择tomcat-8.5.55版本 进入tomcat官网,点击左侧菜单栏Download对应的版本,下载源码 二.idea中创建项目 1.在idea中创建一个空白项目,名称为tomcat_study 2.打开项目源目录,将tomcat的源码解压到其中 3.创建文

  • 使用springboot的jar包能够以service方式启动

    目录 springboot的jar包以service方式启动 场景 过程 打包(maven),授权,启动 建立软连接,通过service命令来启动 systemctl配置 Springboot以jar包方式启动.关闭.重启脚本 启动 关闭 重启 springboot的jar包以service方式启动 场景 打出的jar包用java -jar肯定是可以启动的. 这种方式原生简单,但是对运维不友好. 于是要求改造,希望可以用service命令来启动. 过程 技术上完全可以实现的. pom.xml配置

  • Python教程之pytest命令行方式运行用例

    目录 前言 pycharm里命令行运行用例 终端中使用pytest 用例全部运行 打印详情-v 指定组别 使用表达式指定某些用例-k 遇到失败即停止运行-x 指定运行某个测试py文件 指定运行某个class 指定运行某个方法: 其他 总结 前言 用命令行方式调用用例是我们最常用的方式,这方面确实比java的TestNG框架要好用许多,至少不用写xml文件,为了提供定制化运行用例的方式,pytest提供了许多运行命令以供定制化运行某一类测试用例或者某个测试用例等: pycharm里命令行运行用例

  • 让apache2以cgi方式运行perl cgi程序的实现方法

    1.linux系统一般自带perl可运行程序在:/usr/bin/perl 2.perl测试程序 复制代码 代码如下: #!/usr/bin/perl -wuse warnings;print "Hello, Perl works!  "; 命名为test.pl 在终端下,定位到该目录,输入perl test.pl,perl正常工作的话,会显示输出Hello, Perl works! 3.让apache2以cgi方式支持perla. apache2安装完成之后,配置文件位于/etc/a

随机推荐