【Python基础】Jupyter Notebook最常用的五大配置技巧

2023-11-18

说到Jupyter Notebook(以下简称Jupyter),想必很多人都不陌生,这是一款神奇的web应用,权且可以把它当作python超级笔记本,当然它还支持R、Julia、Scala、Js等几十种语言。

在Jupyter上,可以使用python做数据处理、统计建模、可视化、机器学习、教学演示、网页抓取等各种各样的事情,只有你想不到,没有它做不到。而且,你有可能只用了不到5%的Jupyter功能,它的宝藏工具实在太多。

本文不是来介绍Jupyter的那些神奇用法,而是想实实在在地为Jupyter初学者解决一些头疼的问题。安装Jupyter后,有些人会纠结:

怎么才能「更改默认目录、默认浏览器」

怎么「设置登录密码」

如何「使用Jupyter插件」

「notebook样式」又如何更换?

这些都会一一讲到,但首先要提一下配置文件,这个很重要。

什么是Jupyter配置文件?

配置文件,顾名思义就是可以修改Jupyter各种配置的文件。想要修改Jupyter那些默认的配置选项,就需要在配置文件jupyter_notebook_config.py中修改相应配置选项的属性。

这个配置文件一开始并不存在,需要手动生成。方式很简单,在命令行输入jupyter notebook --generate-config并执行,配置文件就创建好了,它的位置是在C:\Users\Administrator\.jupyter\中。然后我们去c盘主目录下打开.jupyter文件夹,就能找到配置文件:jupyter_notebook_config.py配置文件是关键,后面都要用到的。

1. 更改默认工作目录

一般情况下,Jupyter的默认工作目录为C:\Users\Administrator\,这样很不清爽,而且不便于管理项目,所以常需要在其他盘建立一个独立的Jupyter工作目录文件。

前面提到配置文件jupyter_notebook_config.py,工作目录就在这个里面修改。

  1. 用记事本打开配置文件jupyter_notebook_config.py

  2. Crtl + F组合键找到c.NotebookApp.notebook_dir元素,删掉前面的注释#

  3. 在后面的单引号里输入要设置的目录路径(注意双斜杠),保存关闭;例如:c.NotebookApp.notebook_dir = "E:\\jupyter_notebook"

  4. 修改快捷键,在win开始菜单中找到jupyter notebook快捷图标,右击选择属性,删除目标值最后的 “%USERPROFILE%/”,点击确定退出。

经过这四个步骤,工作目录就修改好了,这时候不管你是通过快捷键还是命令行进入Jupyter Notebook,都能看到最新设置的目录,干净清爽。

2.更改默认浏览器

很多小伙伴有自己的浏览器偏好,希望Jupyter运行在经常使用的那个浏览器上。

更改Jupyter默认浏览器也比较简单,以设置chrome浏览器为例:

  1. 找到chrome.exe文件的安装路径,复制该路径。例如:u'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe'查找方式?右键chorme图标,打开文件所在位置,如下图:

2. 用记事本打开配置文件jupyter_notebook_config.py;3. Crtl + F组合键找到c.NotebookApp.browser元素;4. 在找到记录的下方添加以下代码(注意替换为你的chrome.exe路径):

import webbrowser
webbrowser.register('chrome', None, webbrowser.GenericBrowser(u'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe'))
c.NotebookApp.browser = 'chrome'

保存文件。这样就大功告成了,重新启动Jupyter,就会在新设定的浏览器上运行。

3. 设置登录密码

假如你对自己的Jupyter目录很敏感,不想让别人轻易使用,那么可以设置登录密码。步骤如下:

  1. 用记事本打开配置文件jupyter_notebook_config.py

  2. Crtl + F组合键找到c.NotebookApp.allow_password_change元素,修改为:NotebookApp.allow_password_change=False,并且删掉前面的注释#,保存文件;

  3. 回到windows命令行,运行jupyter notebook password,按照提示输入新密码(注意这里的密码是不显示的);

  1. 可以看到上一步生成了一个json文件,保存在.jupyter文件夹里,和配置文件一个位置。这个json文件保存了密码生成的一段哈希值。找到该文件并打开,复制这段哈希值。

  2. 再一次打开配置文件jupyter_notebook_config.py

  3. Crtl + F组合键找到c.NotebookApp.password元素,将前面的哈希值添加到后面,并且删掉前面的注释#,保存文件;示例:c.NotebookApp.password = u'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'

  4. 到这里全部设置好了,重启Jupyter,就可以输入新密码登录。

4.安装扩展插件

Jupyter让很多人喜欢的原因在于它提供了丰富的插件,包括显示代码执行时间、生成目录、显示变量名、代码块折叠等各种让你舒适的功能。

使用插件前,必须要安装扩展nbextensions。

全程在命令行安装,步骤如下:

  1. 安装nbextensions 执行pip install jupyter_contrib_nbextensions;

  2. 安装javascript and css files 执行jupyter contrib nbextension install --user;

  3. 安装configurator 执行pip install jupyter_nbextensions_configurator

  4. 重启 Jupyter Notebook, 能看到nbextension 标签

5. 修改notebook样式

notebook自带的样式已经可以满足日常使用需求了,如果想把notebook改造成自己喜欢的风格,也是很好实现的。

全程在命令行执行,步骤如下:

  1. 安装主题样式工具包:pip install jupyterthemes;

  2. 查看可用主题:jt -l

  3. 切换主题(切换为chesterish主题):jt -t chesterish;

  4. 恢复默认主题:jt -r;

  5. 其他还有许多功能,可以改字体、样式、宽度、占屏比等。

展示下网友尝试的各种样式:

「chesterish」

「grade3」

「gruvboxd」

「gruvboxl」

「monokai」

「oceans16」

「onedork」

「solarizedd」

「solarizedl」

总结

再说一遍,Jupyter是个神奇的工具,生产力与趣味性兼具,实用与美观并存。用好它,python会更加大放异彩的。

往期精彩回顾




适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑获取一折本站知识星球优惠券,复制链接直接打开:https://t.zsxq.com/662nyZF本站qq群1003271085。加入微信群请扫码进群:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Python基础】Jupyter Notebook最常用的五大配置技巧 的相关文章

  • 将 pandas 多索引数据帧转换为嵌套字典

    我有一个 pandas 多索引数据框 我试图将其输出为嵌套字典 create the dataset data clump thickness 0 0 274 0 0 1 19 0 1 0 67 0 1 1 12 0 2 0 83 0 2
  • 在 Eclipse 工作区中搜索字符串

    如何在完整的eclipse工作区中搜索字符串 我无法在 Eclipse 工作区中找到文本 但是我无法在工作区中找到指定的字符串 在顶层菜单中 选择 搜索 gt 文件搜索 然后在底部附近 在范围内 有一个选项可以选择整个工作区 为您 文件搜索
  • 链接到当前页面,无需查询字符串

    我知道做链接有很多技巧 例如 a href query string 附加查询字符串后将链接到当前页面 有没有办法在删除查询字符串后链接回当前页面 而无需仅输入文件名 例如 在页面foo php q 3 我想链接到foo php 有没有快捷
  • 配置 Flask 以正确加载 Bootstrap js 和 css 文件

    如何使用 Flask 中的 url for 指令来正确设置 以便使用 Bootstrap 和 RGraph 的 html 页面可以正常工作 假设我的 html 页面看起来像这样 部分片段
  • 选择 jQuery 中的每第 n 个项目?

    jQuery 有方便的 even 和 odd 选择器 用于选择集合中偶数或奇数索引的项目 我用它来清除一系列浮动框中的所有其他项目 如下所示 div class 2up div div div div div div div and Cle
  • 有效地写入 pandas 中的多个相邻列

    使用 numpy ndarray 可以一次写入多个列 而无需先进行复制 只要它们相邻 如果我想写入数组的前三列 我会写 a 0 0 3 1 2 3 this is very fast a is a numpy ndarray 我希望在 pa
  • HTML 中按钮内的图标

    我需要在 HTML 中将小图标放在按钮内 例如 我需要在我的网站上有 facebook 按钮 在按钮内首先是 F 图标 然后是 facebook 怎么做
  • 更新或插入 MySQL Python

    如果记录已存在 我需要更新一行 如果不存在 我需要创建一个新记录 我理解 ON DUPLICATE KEY 将使用 MYSQLdb 完成此操作 但是我无法使其正常工作 我的代码如下 cursor database cursor cursor
  • 创建 df 以生成给定格式的 json

    我正在尝试生成一个 df 来生成下面的 json Json数据 name flare children name K1 children name Exact size 4 name synonyms size 14 name K2 chi
  • 通过列计数拆分时重复表头

    我正在 Magento 中输出产品列表 作为包装在表格中的简单列表 由于此列表可能会很长 100 个以上产品 因此我使用了来自这里的想法 https stackoverflow com questions 21001803 how to h
  • 了解字典的深度

    假设我们有这个字典 d a 1 b c 了解嵌套的最直接方法是什么depth of it 您需要创建一个递归函数 gt gt gt def depth d if isinstance d dict return 1 max map dept
  • 防止文本环绕浮动图像

    我目前有一个向左浮动的图像 以及位于其右侧的一段文本 该文本块当前不是浮动的 它只是位于 HTML 中的图像之后 因此 当它变得更长时 它最终会踢到图像下方的左侧以继续 如何才能使文本块始终保持在图像的右侧 以便图像和文本的行为就像两个并排
  • gstreamer 中的无缝视频循环

    我正在尝试使用 gstreamer 循环播放视频 它是 python 绑定 第一次尝试是hook EOSmessage并为管道生成搜索消息 import gi gi require version Gst 1 0 from gi repos
  • 有没有比 Python 内置 == 运算符更快的方法来测试两个列表是否具有完全相同的元素?

    如果我有两个列表 每个列表有 800 个元素长并填充整数 有没有比使用内置元件更快的方法来比较它们具有完全相同的元件 如果没有 则短路 操作员 a 6 2 3 88 54 486 b 6 2 3 88 54 486 a b gt gt gt
  • 在Python中通过sys.stdout写入unicode字符串

    暂时假设一个人无法使用print 从而享受自动编码检测的好处 所以这给我们留下了sys stdout 然而 sys stdout太蠢了不做任何合理的编码 http bugs python org issue4947 现在人们阅读 Pytho
  • Spark (Python) 中的 Kolmogorov Smirnov 测试不起作用?

    我正在 Python Spark ml 中进行正态性测试 看到了我的结果think是一个错误 这是设置 我有一个标准化的数据集 范围 1 到 1 当我做直方图时 我可以清楚地看到数据不正常 gt gt gt prices norm hist
  • IE9支持CSS线性渐变吗?

    有了 Chrome Safari 和 Firefox webkit gradient and moz linear gradient特性 我怎样才能用 IE9 做同样的事情呢 最好的跨浏览器解决方案是 background fff back
  • 猫头鹰轮播,制作自定义导航

    所以我有一个包含三张图像的猫头鹰旋转木马 我还在左侧和右侧添加了自定义导航箭头 png 图像 然而 这些箭头目前是无用的 因为我找不到一种方法来真正让它们在我的猫头鹰旋转木马的图像之间切换 我无休止地寻找 找不到解决方案 有任何想法吗 您需
  • 如何在Python中显示坐标网格线的变换?

    假设我有常规的笛卡尔坐标系 x y 并且我考虑一个矩形网格区域 D 分成小方块 我想看看域 D 如何在 Python 中的坐标变换 T x y gt u x y v x y 下映射 我正在寻找这样的东西 See here https mat
  • IE8 和怪异模式

    IE8 是否像 IE6 7 一样以怪异模式运行 我有一个网页 其中有一些非常奇怪的代码 内容以填充和负边距居中 它在 IE6 7 和其他浏览器中可以正常工作 但在 IE8 中 内容区域的宽度只有一半并且不居中 怪异模式的标志 源代码在 DO

随机推荐

  • 【Logback】<logger>、<root>标签详解

    文章目录 背景 一
  • linux自学群565589971欢迎加入

    作为一个linux爱好者 从自学一步步走上linux运维的工作岗位 对这个行业深深的热爱 也知道自学的不易 学习过程中也走了不少弯路 我现在在一家网络公司任职运维高级经理 也算积累一定的linux实战经验 所以我打算建一个自学群 跟想要学习
  • 近期遇到的两个SQL盲注与云盾绕过的一个小tips

    文章目录 前言 一 数字型盲注 二 order by注入 前言 最近在测试过程中遇到两个SQL注入 一个是数字型的盲注 一个是order by盲注 云盾绕过 一 数字型盲注 凭借印象 搭了个环境 大概长这样 前面170会拼接到查询语句 后面
  • 从zygote到onCreate应用启动过程分析

    在之前的文章讲了app进程大概的启动过程 https blog csdn net qq 36063677 article details 125638137 这篇文章细致的分析一下app进程从zygote进程fork出来到onCreate等
  • java和电脑编程_计算机初学者学习编程语言C#和Java哪个更有前途?

    如果同时接触到Java和C 这两门语言 确实是会容易让人纠结 毕竟目前这两门语言都是世界使用人数排名前五的语言 要说哪个更有前途 真的很难判定 因此 个人认为是有必要分析一下两门语言的一些特点和应用领域 语法 在语法上 如果是接触过Java
  • Function Score 多个function java写法

    背景 我们在使用 ES 查询的时候 除了 bool 查询 还会经常用到 function score 查询 简单来说 function score 就是对打分结果进行算法重排 鉴于网上基本上都是DSL写法 我找了好久没有找到JAVA应该怎么
  • 新版sonar代码审查问题总结

    主要问题列表 格式 问题名字 问题出现的次数 Resources should be closed2 资源未关闭 打开发现有两处用到的IO流没有关闭 Conditions should not unconditionally evaluat
  • 选择单选‘固定时间’,那么单选灵活时间输入框被禁用

    预计效果 1 disable isSee radio flexible 不能编辑 选择另一个单选的单选框 短路或 一边为真即为真 2 method方法 如果e 固定时间 那么 灵活时间输入框为空 相反 如果e 灵活时间 那么 固定时间输入框
  • 【3D点云】分割算法总结(一)

    文章目录 前言 Related work 一 PointNet 分类 分割2018 1 关键代码 1 点云采样 2 卷积下采样 升维 3 上采样 self fp4 l3 xyz l4 xyz l3 points l4 points 二 MV
  • Android 蓝牙开发基本流程

    http blog csdn net q610098308 article details 45248423 此例子基于 Android demo 对于一般的软件开发人员来说 蓝牙是很少用到的 尤其是Android的蓝牙开发 国内的例子很少
  • Mysql 报错注入方式总结

    floor 注入语句 id 1 and select 1 from select count concat user floor rand 0 2 x from information schema tables group by x a
  • 解密aes加密的m3u8片段的方法

    现在一些m3u8是有aes加密的 解密方法也简单 只要找到m3u8指定的密码文件就行了 一般都在 EXT X KEY METHOD AES 128 URI xxx 这里 下面的代码显示了在下载ts片段和密码文件后如何解密 假设已下载的m3u
  • Qt实战-聊天界面案例

    Qt实战 聊天界面案例 本项目模仿某平台 实现类似的聊天案例 喜欢的朋友可以在此基础上进行添加功能 1 原理 使用udp通信接收本地服务器的消息 ui gt setupUi this 初始化操作 udpSocket new QUdpSock
  • C语言:结构体中(.)和(->)的区别

    首先 要了解 a b 等价于 a gt b 概念上 一般情况下用 只需要声明一个结构体 格式是 结构体类型名 结构体名 然后用结构体名加 加域名就可以引用域 了 因为自动分配了结构体的内存 如同 int a 一样 而用 gt 则要声明一个结
  • 会议通知

    全国高校Python数据分析与实训课程 高级研修班 通 知 各高校教务处 各相关院系负责人 依据 教育部高等学校教学指导委员会章程 规定 教育部高等学校教学指导委员会的任务之一是 组织师资培训 沟通信息 交流教学建设和教学改革经验 宣传推广
  • 2022 Java面试题

    Java面向对象有哪些特征 如何应用 面向对象编程是利用类和对象编程的一种思想 万物可归类 类是对于世界事物的高度抽象 不同的事物之间有不同的关系 一个类自身与外界的封装关系 一个父类和子类的继承关系 一个类和多个类的多态关系 万物皆对象
  • 基于MATLAB GUI的LSB语音信号数字水印

    基于MATLAB GUI的LSB语音信号数字水印 数字水印是一种在数字媒体中嵌入信息的技术 它可以用于版权保护 身份验证以及数据完整性验证等应用 在本文中 我们将介绍如何使用MATLAB GUI和最低有效位 Least Significan
  • Vue2.0知识点

    Vue2 0指令 v text指令 内容渲染指令 它会覆盖元素内部原有的内容 语法 插值表达式 专门用来解决v text会覆盖默认文本内容的问题 v text和插值表达式只能渲染纯文本内容 插值表达式不能用到属性节点 v html指令 可以
  • FFmpeg H264增加SEI

    先看使用场景 https blog csdn net lsheevyfg article details 80951415 https www jianshu com p 4d9120dfcd69 参考文章 https blog csdn
  • 【Python基础】Jupyter Notebook最常用的五大配置技巧

    说到Jupyter Notebook 以下简称Jupyter 想必很多人都不陌生 这是一款神奇的web应用 权且可以把它当作python超级笔记本 当然它还支持R Julia Scala Js等几十种语言 在Jupyter上 可以使用pyt