当前位置: 首页 > news >正文

Jupyter Notebook远程登录配置

目录

一、之前的版本修改方法

1、生成配置文件

2、设置密码、获取秘钥

3、修改默认配置文件

注:自动化脚本

二、新版本

注:自动化脚本

三、访问

四、ip查询

1、win

2、linux


一、之前的版本修改方法

1、生成配置文件

jupyter notebook --generate-config

2、设置密码、获取秘钥

让输入,直接回车。然后复制代码最后产生的秘钥

from notebook.auth import passwd  
passwd()

3、修改默认配置文件

vim ~/.jupyter/jupyter_notebook_config.py
  • 修改如下4处:
  • 行号分别对应:203,264,273,284
c.NotebookApp.ip=’*’ 
c.NotebookApp.password = 'sha:ce…刚才复制的那个密文'
c.NotebookApp.open_browser = False  
c.NotebookApp.port =8889 #随便指定一个端口

注:自动化脚本

python版本 >= 3.6

from notebook.auth import passwd
import oshome_path = os.path.expanduser('~')
cfg_path = f"{home_path}/.jupyter/jupyter_notebook_config.py"
if not os.path.exists(cfg_path):os.system("jupyter notebook --generate-config")
key = passwd()
port = input("port(default:8888): ") or "8889"
with open(cfg_path, "r") as f:data = f.readlines()
modify = {"c.NotebookApp.ip": "c.NotebookApp.ip= '*'\n", # 所有ip可访问"c.NotebookApp.password": f"c.NotebookApp.password = '{key}'\n","c.NotebookApp.open_browser": "c.NotebookApp.open_browser = False\n","c.NotebookApp.port": f"c.NotebookApp.port = {port}\n"
}
for i, j in enumerate(data):for k in list(modify.keys()):if k in j:data[i] = modify[k]modify.pop(k)
with open(cfg_path, "w") as f:f.writelines(data)

二、新版本

jupyter-server 最近发布了新的版本升级,随之,配置文件中的部分设置也有所改变(Jupyter Notebook 7.0 更新远程访问配置)。

旧配置:

c.NotebookApp.ip = '*' 或'0.0.0.0' 所有绑定服务器所有网络接口。
c.NotebookApp.password = ''
c.NotebookApp.open_browser = False
c.NotebookApp.port = 8889
c.NotebookApp.allow_remote_access = True

新配置:

c.ServerApp.ip = '*'
c.ServerApp.password = ''
c.ServerApp.open_browser = False
c.ServerApp.port = 8889
c.ServerApp.allow_remote_access = True

简单看下来,就是 NotebookApp 被替换为了 ServerApp 。

但是生成密码的时候就出现了问题:

旧方法:

from notebook.auth import passwd
passwd()
Enter password:
Verify password:
Out[2]: 'sha1:...'

现在提示:

>>> from notebook.auth import passwd
Traceback (most recent call last):File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'notebook.auth'

解决方法:

from jupyter_server.auth import passwd;
passwd()

如果你想生成 SHA1

from jupyter_server.auth import passwd;
passwd(algorithm='sha1')

注:自动化脚本

from jupyter_server.auth import passwd
import oshome_path = os.path.expanduser('~')
cfg_path = f"{home_path}/.jupyter/jupyter_notebook_config.py"
if not os.path.exists(cfg_path):os.system("jupyter notebook --generate-config")
key = passwd()
port = input("port(default:8888): ") or "8889"
with open(cfg_path, "r") as f:data = f.readlines()
modify = {"c.ServerApp.ip": "c.ServerApp.ip= '*'\n", # 所有ip可访问"c.ServerApp.password": f"c.ServerApp.password = '{key}'\n","c.ServerApp.open_browser": "c.ServerApp.open_browser = False\n","c.ServerApp.port": f"c.ServerApp.port = {port}\n"
}
for i, j in enumerate(data):for k in list(modify.keys()):if k in j:data[i] = modify[k]modify.pop(k)
with open(cfg_path, "w") as f:f.writelines(data)

三、访问

启动jupyter:

jupyter notebook

访问:

linux服务器的ip:888
如192.168.3.210:888

PS:8888是刚在配置文件设置的端口

另外一种访问:

1、启动jupyter

## 启动notebook
jupyter notebook --no-browser --port=8889
## 启动lab
jupyter lab --no-browser --port=8889

2、在本地启动ssh

## name@IP替换成具体的服务器用户名及IP地址,之后输入服务器登录密码即可。
ssh -N -f -L localhost:8888:localhost:8889 name@IP

3、远程访问

本地浏览器输入http://localhost:8888/,输入jupyter登录密码即可使用。

四、ip查询

1、win

ipconfig

2、linux

下面三个任意一个:

hostname -i
ll
ifconfig

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 前端用html写excel文件直接打开
  • 二维码扫码模组国产麒麟系统C语言SDK二次开发
  • 【PostgreSQL数据库表膨胀的一些原因】
  • 系统架构师考试学习笔记第五篇——架构设计补充知识(26)论文写作
  • 响应式网站真的就只是多了一个媒体查询吗?
  • 数仓建设:为什么我们的数据容易被业务方质疑?
  • 关于codesys循环结束,循环内累加值仍不停止累加问题
  • 002集—— CAD划线并模拟向命令窗口发送命令(CAD—C#二次开发入门)
  • 绿荫德清,数聚聚宝汇智—聚宝用户夏日交流会圆满落幕
  • linux 操作系统下cu命令介绍和使用案例
  • PHP悦读随行一键借阅图书小程序
  • 计算机网络:概述 - 性能指标
  • 深度学习经典模型之T5
  • matlab处理函数3
  • C++库std::clamp
  • 【React系列】如何构建React应用程序
  • ➹使用webpack配置多页面应用(MPA)
  • CentOS从零开始部署Nodejs项目
  • ES6 学习笔记(一)let,const和解构赋值
  • Iterator 和 for...of 循环
  • Java超时控制的实现
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • Python十分钟制作属于你自己的个性logo
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • 从setTimeout-setInterval看JS线程
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 实现菜单下拉伸展折叠效果demo
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 学习HTTP相关知识笔记
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​卜东波研究员:高观点下的少儿计算思维
  • ‌分布式计算技术与复杂算法优化:‌现代数据处理的基石
  • # windows 运行框输入mrt提示错误:Windows 找不到文件‘mrt‘。请确定文件名是否正确后,再试一次
  • # 安徽锐锋科技IDMS系统简介
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (c语言)strcpy函数用法
  • (Java企业 / 公司项目)点赞业务系统设计-批量查询点赞状态(二)
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (ros//EnvironmentVariables)ros环境变量
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (九)信息融合方式简介
  • (每日一问)基础知识:堆与栈的区别
  • (算法二)滑动窗口
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • (转)甲方乙方——赵民谈找工作
  • (转)我也是一只IT小小鸟
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...