使用域名访问远程jupyter_Jupyter notebook/lab安装及远程访问

本文详细介绍了如何在本地和远程服务器上安装及使用Jupyter Notebook和Lab,包括生成密码密文、配置远程访问、设置Kernel(尤其是R kernel)以及利用lab插件。重点讲述了非root用户远程服务器的配置,包括通过修改配置文件和SSH启动两种方式。
摘要由CSDN通过智能技术生成

44859a9d9d206b3e7754232a31abff8c.png

[toc]

简介

  • 最开始的时候Jupyter指的就是Jupyter Notebook,后来Jupyter公司出了Jupyter Lab,所以本文用notebook表示Jupyter Notebook, 用Lab表示Jupyter Lab。
  • 关于两者的介绍,网上很多资料,这里就不再介绍了。总的而言,两者是一家,lab是notebook的加强版,lab包含了notebook的所有功能,lab集成更强,可多个文档一起操作,还添加插件功能,使用起来更方便
  • 一般而言,服务器的配置会比个人电脑好些,所以能远程访问服务器的jupyter就可以不用本地和服务器两边切换,还能使用服务器的计算资源(尤其对于大数据而言)。

aafac21a60f5f35664bc911dda98b90b.png

[图片来自参考1,侵删]

本地使用

安装

如果安装anaconda,就已经安装了jupyter,可以直接使用。只是版本可能会旧些。

jupyter notebook安装

## pip 安装
pip install notebook

## conda安装
conda install -c conda-forge notebook

jupyter lab安装

## 安装jupyterlab
pip install jupyterlab
或者
conda install -c conda-forge jupyterlab

## 安装依赖关系(npm, nodejs)
pip install npm
conda install -c conda-forge nodejs

启动使用

如果是本地安装的话,安装完即可启动使用。在终端直接输入命令即可启动。

## 启动notebook
jupyter notebook

## 启动lab
jupyter lab

远程使用(非root)

安装

安装步骤跟本地安装差不多。

远程服务器配置

生成jupyter密码密文

密文生成有手动生成和自动生成两种方式。自动生成会保存在json文件中。手动生成在ipython中运行直接输出。 密码用于本地访问服务器jupyter时需要输入的密码。

自动生成

$ jupyter notebook password
Enter password:  
Verify password: 
[NotebookPasswordApp] Wrote hashed password to /home/you/.jupyter/jupyter_notebook_config.json

手动生成

## 打开ipython,输入
from IPython.lib import passwd
passwd()
## 提示输入密码和确认输入,完成后得到密文。
Enter password: 
Verify password: 
'sha1:********************************************' 
## 或者
from notebook.auth import passwd; passwd()

配置

生成密文后,有两种设置方式,访问jupyter。一种是修改配置文件,另一种为通过ssh启动。

方式一:修改配置文件

  1. 生成配置文件 默认保存:~/.jupyter/jupyter_notebook_config.py
jupyter notebook --generate-config
或
jupyter lab --generate-config
  1. 修改配置文件 需要修改主要是四个地方,分别是IP地址,密文,浏览器,端口。
## 打开前面生成的配置文件
vim ~/.jupyter/jupyter_notebook_config.py
## 修改配置内容
## 官方文档建议修改成‘*’,但可能还是无法访问,可以修改成‘0.0.0.1’或者服务器IP
c.NotebookApp.ip='*'
## 修改成将之前生成的密文
c.NotebookApp.password = u'sha1:........'
c.NotebookApp.open_browser = False
## 随便都可以,防止与其他端口冲突即可。也可以再启动jupyter时,用--port参数指定。
c.NotebookApp.port =8889

以上算是完成服务器的配置,可以在本地进行访问。

  1. 远程访问 启动jupyter,会弹出提示信息
[I 16:54:05.861 LabApp] Jupyter Notebook 6.1.0 is running at:
[I 16:54:05.861 LabApp] http://address_of_remote:8889/  ## address_of_remote为具体的IP

按照要求,在本地浏览器输入http://address_of_remote:8889,输入登录密码即可访问jupyter。但可能由于防火墙的问题,仍然无法访问。这时候需要本地使用ssh启动。

方式二:ssh启动

  1. 启动jupyter
    前面生成密文json格式后,不需要生成设置文件,直接启动jupyter。这种方式启动需要添加两个关键参数-no-browser--port,分布设定浏览器和端口。
## 启动notebook
jupyter notebook --no-browser --port=8889
## 启动lab
jupyter lab --no-browser --port=8889

启动jupyter,会弹出提示信息

[I 16:54:05.861 LabApp] Jupyter Notebook 6.1.0 is running at:
[I 16:54:05.861 LabApp] http://localhost:8888
  1. 启动ssh 本地终端启动ssh,使用localhost:8888替换服务器的localhost:8889
## name@IP替换成具体的用户名及IP地址,之后输入服务器登录密码即可。
ssh -N -f -L localhost:8888:localhost:8889 name@IP
  1. 远程访问 本地浏览器输入http://localhost:8888/,输入jupyter登录密码即可使用。

Kernel

数据分析Python和R经常都会使用到,Jupyter可以同时操作python和R,非常方便相互切换,需要安装R kernel才能运行r的代码。另外,虽然jupyter主要是交互式操作,但有时也想对代码进行调试,这时候可以借助lab的插件debugger,但这个工具暂时只能用xeus-python。

R kernel

R安装

## conda安装
conda install -c r r=3.6
## conda创建虚拟环境安装
conda create -n r36 r=3.6

## 安装后可以打开r进行安装程序包,也可以直接安装基础包
conda install -c r r-essentials

添加R kernel

## 打开R,进入交互式
## 安装devtools,用于在github下载安装包
install.packages("devtools")
## 下载IRkernel
devtools::install_github("IRkernel/IRkernel")
## 提示jupyter R kernel路径
IRkernel::installspec()

打开jupyter lab可以看到已经添加成功。

13863878b52c8b03dbcc810f3d1373eb.png

xeus-python

debugger

debugger插件安装需要安装插件以及xeus-python。插件搜索安装或命令安装,xeus-python使用conda安装。

## 使用conda快速安装
conda install -c conda-forge xeus-python

安装完成后,重启jupyter可以看到添加成功。点击即可进入调试界面。

1d3715097e9268fe013b6fe05623bfc1.png

cf6f127b008769ca6dd6bdf0ee4c46e7.png

lab插件

jupyter lab可以使用插件功能,这些插件大多数来自第三方,功能强大,使得lab用起来更加方便。安装教程及推荐可以参考[6]。修改完设置后就可以通过搜索插件进行安装,也可以jupyter命令来安装。

注意项

  • 假设密文json文件和配置文件同时存在,配置文件参数优先。如果两个文件密文不一致,密文以json优先。
  • 修改配置文件时,需要把注释#号去掉。
  • 本地浏览器访问失效时,需要重新启动ssh。

p.s. 如有错误请批评指正,谢谢(* ̄︶ ̄)

参考

[1]. 神器 | JupyterLab,极其强大的下一代notebook! [2]. 远程访问jupyter notebook [3]. 通过SSH远程使用jupyter notebook [4]. 利器|JupyterLab 数据分析必备IDE完全指南 [5]. 厉害了!Python编辑器界的神器 Jupyter ,推出官方可视化 Debug 工具! [6]. 15个好用到爆炸的Jupyter Lab插件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值