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

【2025.06】jupyter notebook 7+ 新手安装、配置、扩展应用(windows篇)

本文目录

  • 前述
  • 一、安装
  • 二、配置
    • 2.1 jupyter_notebook_config.py生成配置文件
    • 2.2 服务器与网络设置
      • a. 修改端口号
      • b. 允许远程访问
      • c. 设置工作目录
    • 2.3 安全与认证
      • a. 禁用密码登录(仅限本地安全环境)
      • b. 设置登录密码
      • c. 启用SSL加密(HTTPS)
    • 2.4 界面与用户体验设置
      • a. 自定义启动页
      • b. 禁用浏览器自动打开
      • c. 调整内核超时时间
    • 2.5 扩展与插件管理
      • a、table of contents
      • b、Debugger
      • c、Real Time collaboration
      • d、Theming and Dark Mode
      • e、Internationalization
      • f、Accessibility Improvements
      • g、Support for many JupyterLab extensions
      • h、Compact View on Mobile Devices

前述

本文所述jupyter notebook的安装基于anaconda,在windows操作系统之下实现,并对anaconda下的jupyter notebook特点做一些介绍,重点介绍安装和配置,具体的应用不是本章节核心内容,因为在我看来,jupyter notebook的应用,看过几分钟教程就能上手入门的,但jupyter notebook的安装和配置,如果不常操作实践,往往会让大家花费比较大的时间和精力,正所谓,“兵马未动,粮草先行” 。

本文安装在conda创建的虚拟环境(base),anaconda安装教程可看本人同栏下相应文章。

一、安装

jupyter notebook默认情况下在anaconda安装完成后便自动给安装好了,启动方式有两种:

一是通过电脑“开始”菜单中选择jupyter notebook打开即可。
在这里插入图片描述

二是通过CMD命令方式打开。

一般情况下随anaconda自动安装的jupyter notebook会默认安装在conda的虚拟环境base下,并做为conda所有虚拟环境共有的功能组件形式,如果需要为某个单独的conda虚拟环境安装,需要先切换到具体的conda环境,再执行安装命令,此jupyter notebook安装仅在当前虚拟环境下生效。如下,在虚拟环境py311下安装jupyter notebook命令:

conda install jupyter notebook

安装结果:
在这里插入图片描述
安装完查看版本命令:jupyter notebook --version

(py311) C:\Users\lu>jupyter notebook --version
7.3.2(py311) C:\Users\lu>

查看所安装jupyter notebook内核信息:

jupyter kernelspec list Available kernels

在这里插入图片描述

如果切换到base环境下执行安装,则会覆盖或更新原来的全局jupyter notebook。

需要说明的是,在通过命令启用jupyter notebook时,会优先打开当前虚拟环境下的局部jupyter notebook,如果当前虚拟环境没有安装,则会调用全局jupyter notebook并打开。

二、配置

在 Anaconda 的 Jupyter Notebook 中,可通过修改配置文件(jupyter_notebook_config.py)或使用图形化工具调整多项核心设置,后面无特别说明,所修改或添加配置项均在jupyter_notebook_config.py文件中操作,以下是一些挑选的重点可修改配置及操作指南:

2.1 jupyter_notebook_config.py生成配置文件

执行命令

jupyter notebook --generate-config

如果不存在jupyter_notebook_config.py,则会生成此配置文件。存在则覆盖。文件默认路径:

  • Linux/Mac:
    ~/.jupyter/jupyter_notebook_config.py
  • Windows:
    C:\Users\<用户名>\.jupyter\jupyter_notebook_config.py

2.2 服务器与网络设置

a. 修改端口号

c.ServerApp.port = 9000  #新版配置项 默认8888

旧版相应配置项:

c.NotebookApp.port = 8889  # 旧版配置项  默认 8888

以下只罗列新版配置项,旧版一般相应配置项名前辍为c.NotebookApp.

如不修改或设置,启动时会自动采用默认端口号,如被占用则会自动选用其它空闲端口。

b. 允许远程访问

c.NotebookApp.ip = '0.0.0.0'  # 允许所有IP访问(需配合防火墙设置)
c.NotebookApp.allow_remote_access = True

c. 设置工作目录

c.ServerApp.notebook_dir = 'D:\codes_jupyter'

2.3 安全与认证

a. 禁用密码登录(仅限本地安全环境)

c.ServerApp.token = ''  # 关闭Token验证
c.ServerApp.password = ''  # 清除密码(需先生成密码)

b. 设置登录密码

jupyter notebook通常不支持直接在配置文件jupyter_notebook_config.py上添加登录访问密码设置,从 notebook 5.0 开始,可以通过命令来为 notebook 服务器输入和保存密码。jupyter notebook password会提示你输入密码,并将哈希值保存在jupyter_notebook_config.json中。此文件目录与jupyter_notebook_config.py配置所在目录相同。

  • 命令方式
    在CMD命令行下执行命令:jupyter notebook password
    在这里插入图片描述
    即可完成密码的添加,并把生成的密码存放在Jupyter_server_config.json文件中。

  • 手动方式
    准备哈希密码,使用函数notebook.auth.security.passwd()可根据你输入密码来生成对应的哈希密码。

In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'

将上一步产生的哈希码可以添加到jupyter_notebook_config.py中,例如:

c.ServerApp.password = u'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'

注意: 自动化密码配置产生的哈希码存放于jupyter_notebook_config.json,手工产生的哈希码存放于jupyter_notebook_config.py。.json配置文件优先于.py配置文件,因此如果Json文件中已经配置了密码,手工配置的密码会无效。

c. 启用SSL加密(HTTPS)

在配置文件中jupyter_notebook_config.py添加本地准备好的证书文件就可以。如下:

c.ServerApp.certfile = '/path/to/your/cert.pem'
c.ServerApp.keyfile = '/path/to/your/key.pem'

2.4 界面与用户体验设置

a. 自定义启动页

默认打开的文件/目录。可在配置文件中添加如下配置项:

c.ServerApp.default_url = '/tree/your_directory'  # 替换为路径

b. 禁用浏览器自动打开

可以配置文件中添加如下配置项:

c.ServerApp.open_browser = False

c. 调整内核超时时间

防止长时间计算断开内核,可以配置文件中添加以下配置项:

c.ServerApp.shutdown_no_activity_timeout = 86400  # 24小时(单位:秒)

旧版配置项:c.MappingKernelManager.cull_idle_timeout = 86400 # 24小时(单位:秒)

2.5 扩展与插件管理

notebook自7.0版本开始,对扩展的管理做了些明显的修改,已经不能像低版本那样通过安装jupyter_contrib_nbextensions来管理使用扩展或插件,7.0安装jupyter_contrib_nbextensions会出现不兼容的异常现象。如果是低版本(建议不超6.5版本)可以通过安装jupyter_contrib_nbextensions模块来实现扩展插件的管理,新版中已内置了扩展与插件的管理功能,通过菜单栏可便捷管理扩展和插件的应用(没有低版本中的Nbextensions标签选项)。

Jupyter Notebook v7.0.0基于JupyterLab,因此它包含了过去几年JupyterLab中添加的许多新功能和改进,下面是一些亮点功能或更新:

  • table of contents (目录索引)
  • Debugger(调试器)
  • Real Time collaboration(实时协作)
  • Theming and Dark Mode(主题和深色模式)
  • Internationalization(界面语言更换)
  • Accessibility Improvements(对文本编辑器的可访问性改进)
  • Support for many JupyterLab extensions(JupyterLab扩展支持)
  • Compact View on Mobile Devices(移动设备支持)

有一些扩展插件已默认安装并启用,有更多的扩展插件需要自行安装。
扩展与插件的管理:
新版notebook扩展管理器需要在notebook首页菜单setting中启用:

然后想管理扩展时就在菜单View中选中Extension Manage就可以查看或安装扩展了。
在这里插入图片描述

a、table of contents

此功能已被内嵌并默认启用,可通过菜单栏的View应用,如:
在这里插入图片描述

b、Debugger

调试器,支持设置断点和检查变量。 (注意,经我测试此功能需要jupyter notebook7.3.2或以上版本才可用,具体原因不详?)

打开需要调试的文件后在右上方会看到一个调试器的图标。

在这里插入图片描述
点一下灰色的调试器图标变黄色即可启用。

c、Real Time collaboration

协作模式,可以与其他用户共享您的notebook并实时操作他,甚至适用于JupyterLab和Jupyter Notebook之间实时协作。
需要自行安装扩展,conda install jupyter-collaboration

d、Theming and Dark Mode

主题与深色模式。Jupyter Notebook默认的是白色主题,现在Jupyter Notebook 7内置几种主题及字体大小设置选项:
在这里插入图片描述
也支持使用JupyterLab的主题,但需要自行安装,如:

conda install jupyterlab-night

即可在菜单Settings-Theme看到安装的 jupyterlab-night主题。

e、Internationalization

界面语言切换。可以自行安装相应语言包,就可以在Settings中切换语言。
安装后:conda install jupyterlab-language-pack-zh-CN
在这里插入图片描述

f、Accessibility Improvements

优化升级了notebook的文本编辑器,由CodeMirror 5升级CodeMirror 6。

g、Support for many JupyterLab extensions

Jupyter Notebook 7是基于JupyterLab的,因此支持许多现有的JupyterLab扩展。可以使用conda安装各种JupyterLab扩展。

h、Compact View on Mobile Devices

新版支持移动端访问。

http://www.xdnf.cn/news/10371.html

相关文章:

  • 【配置指南】Dify部署超全配置参考手册
  • 类和对象(4)
  • 税法 -2.2- 增值税-允许抵扣的进项税额
  • 零基础安装 Python 教程:从下载到环境配置一步到位(支持 VSCode 和 PyCharm)与常用操作系统操作指南
  • X-MACRO使用技巧
  • linux命令 systemctl 和 supervisord 区别及用法解读
  • 【计算机网络】Linux下简单的UDP服务器(超详细)
  • 鸿蒙OSUniApp PWA开发实践:打造跨平台渐进式应用#三方框架 #Uniapp
  • Android第十二次面试-多线程和字符串算法总结
  • Mac电脑上本地安装 redis并配置开启自启完整流程
  • uni-app学习笔记十九--pages.json全局样式globalStyle设置
  • Langchaine4j 流式输出 (6)
  • NodeJS全栈开发面试题讲解——P2Express / Nest 后端开发
  • B站视频下载器 v1.0.4|免登录下载1080P视频
  • Global Security Markets 第5章知识点总结
  • 字节面试手撕题:版本号排序
  • ReLU的变体
  • 基于ZYNQ ARM+FPGA异构平台的声呐数据采集系统设计
  • Amazon Augmented AI:人类智慧与AI协作,破解机器学习审核难题
  • 【配置vscode默认终端为git bash】
  • ArcGIS Pro 创建渔网格网过大,只有几个格网的解决方案
  • (面试)OkHttp实现原理
  • AWS之迁移与传输服务
  • Java八股文智能体——Agent提示词(Prompt)
  • linux 后记
  • [总结]前端性能指标分析、性能监控与分析、Lighthouse性能评分分析
  • 如何用docker部署ELK?
  • vue笔记-路由
  • Java抽象工厂模式详解
  • 【STM32F1标准库】理论——定时器/计数器中断