百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

VS Code上也能玩转Jupyter Notebook,这是一份完整教程

bigegpt 2025-05-28 15:37 16 浏览

点击上方 "码农真经" 关注,星标或者置顶

22点24分准时推送,第一时间送达

来源:公众号 机器之心 | 编辑:真经君

码农真经(ID:coder_experience)第 115 次推文 图源:Pexels


上一篇:你有特斯拉,我有树莓派,纯手工打造车载车牌识别检测系统,家用车秒变智能车


正文



自从 2019 年 VS Code Python 插件更新以后,VS Code 已经提供了对 Jupyter Notebook 的本地支持,对于那些经常处理合作项目、使用多种编程语言的程序员来说,真是再好不过了。这篇文章告诉你,如何在 VS Code 中上手使用 Jupyter Notebook。


尽管许多程序员选择使用 IDE(Integrated Development Environment,集成开发环境)工作,但也有一些程序员(包括我)喜欢探索 IDE 中不同的可能性。这种探索并不只是因为酷,还是因为每个流行的 IDE 都有其独特的功能,而我的很多项目都是跟同事合作的,这些同事可能使用不同的 IDE,为了在项目中互相配合,我会尽量用他们的「语言」。

在用 Python 的时候,我比较喜欢用 Jupyter Notebook 和 Visual Studio (VS) Code 来编程。
在各种 IDE 中,Jupyter Notebook 已经成为极其流行选择了。除了 IPython 之外,还有其他可用的内核。而且除了 Python 之外,Jupyter Notebook 还可以支持 Java、R、Julia 和其他流行的编程语言。Jupyter Notebook 同时集成了 Markdown 文本和可执行源代码,这让合作完成、可复制的小组项目变得更容易。
VS Code 是另一个在使用多种编程语言(如 JavaScript、c# 和 Python)的开发人员中流行起来的开源 IDE,随着 VS 代码插件的不断开发,VS Code 可以支持语言的列表仍在增长。但是它还不能支持编辑 Jupyter Notebook 产生的文件。
现在不一样了。随着 2019 年 VS Code Python 插件的最新发布,VS Code 已经提供了对 Jupyter Notebook 的本地支持,也就是可以在不运行 Jupyter Notebook 的情况下在笔记本上工作。在本文中,我会介绍一些在 VS Code 中使用 Jupyter Notebook 的基础知识。
环境设置
你需要在你的电脑上先安装 Jupyter 包。你可以用 python 的安装程序(pip install notebook)安装,也可以用 conda 来安装(conda install -c conda-forge notebook)。当然,你计算机上也得有 VS Code 和 Python 3。如果没有的话,先去这两个网址下载。

  • Python 3:https://www.python.org/downloads/

  • VS Code:https://code.visualstudio.com/download


  • 打开 VS Code,进入扩展部分(Extension)。如果你用的是 Mac,你可以用X(Shift + Cmd + X)快捷键来打开扩展部分,如果你用的是 Windows 系统,这个快捷键就变成了 Ctrl + Shift + X。在文本框中搜索「Python」,你就应该能够看到相关扩展的列表。点击名为「Python」的扩展名——这是微软开发的一个扩展包。安装这个扩展包,如果需要的就重新启动一下 VS Code。


  • 完成最后几个准备步骤后,VS Code 就可以使用 Jupyter Notebook 了。


  • 创建 Jupyter 笔记本


  • 点击 View -> Command Palette (如果使用的是 Mac, 可以用P 来快速打开) 就可以创建一个新的 Jupyter 笔记本。下个页面弹出之后,搜索「Jupyter」并选择「Python: Create Blank New Jupyter Notebook」选项,就可以创建一个新的 Notebook 了。为了让你们更明白,我创建了一个名为 JupyterExample.ipynb 的笔记本,流程如下图所示。




常用操作
单元的插入和删除
可以点击工具栏里或者每个单元左侧的「加号」来插入单元。如果想要删除,就点击单元右边删除的标志(小垃圾桶)。


转换单元内容类型和状态
点击单元的 code/markdown 部分就可以转换内容类型。如果想要转换单元的状态,单机文本输入框就可以让它进入编辑模式。点击单元左侧的垂直条可以将其变成命令模式。然后再点击另一个单元,那么前一个被选中的单元就会变回未选中的状态。单元左侧的垂直条可以显示单元的状态。


命令状态下的快捷键
当单元左侧的垂直条显示其为命令状态(蓝色)时,就可以使用下面这些快捷键了。


运行代码块
你只需要点击 code/markdown 区域的三角符号就能运行这个代码块了。如果想要运行整个笔记本所有的代码块,只需要点击最上方工具栏的双箭头标志就行了。


尽管上图并没有展示,工具栏里有一个带着向上箭头的三角符号,点击这个符号可以运行当前单元前面所有的胆码。如果箭头是向下的,那就是运行包括当前单元在内的后面所有代码。
变量预览器
要查看已定义的变量列表,只需单击工具栏中的变量按钮,就会出现显示所有已定义的变量的一个表。你新定义的变量也会自动包含在表中。


图表预览
如下图所示,我们可以点击输出图片角上的图表标志来预览你画的所有图。


在图预览器中,你可以在最上方看到一个工具条,这个工具条的功能都很常见,如放大缩小、保存图片等。
你该学到什么?
本文回顾了在 VS Code 中使用 Jupyter 笔记本时需要进行的基本操作。如果您使用 VS Code 来满足其他开发需求,那么在 VS Code 中尝试使用 Jupyter Notebook 是非常方便的,这样您就可以只使用一个 IDE。特别是其代码自动补齐的功能可以让你的开发更快捷。
参考链接:
towardsdatascience.com/getting-started-with-jupyter-notebooks-in-visual-studio-code-5dcccb3f739b


--END--


往日热文:

价值1.4万元的课程讲义开源,fast.ai发布新书源代码,登GitHub趋势榜第一

如何用OpenCV在Python中实现人脸检测

Python3.9又更新了:dict内置新功能,正式版十月见面

我用Python远程探查室友每天的网页访问记录,他不愧是成年人!

Python高效编程技巧,看了都说好!


喜欢本文的朋友们,欢迎长按下图关注订阅号码农真经

收看更多精彩内容


你在看吗?一起成长

相关推荐

最全的MySQL总结,助你向阿里“开炮”(面试题+笔记+思维图)

前言作为一名编程人员,对MySQL一定不会陌生,尤其是互联网行业,对MySQL的使用是比较多的。对于求职者来说,MySQL又是面试中一定会问到的重点,很多人拥有大厂梦,却因为MySQL败下阵来。实际上...

Redis数据库从入门到精通(redis数据库设计)

目录一、常见的非关系型数据库NOSQL分类二、了解Redis三、Redis的单节点安装教程四、Redis的常用命令1、Help帮助命令2、SET命令3、过期命令4、查找键命令5、操作键命令6、GET命...

netcore 急速接入第三方登录,不看后悔

新年新气象,趁着新年的喜庆,肝了十来天,终于发了第一版,希望大家喜欢。如果有不喜欢看文字的童鞋,可以直接看下面的地址体验一下:https://oauthlogin.net/前言此次带来得这个小项目是...

精选 30 个 C++ 面试题(含解析)(c++面试题和答案汇总)

大家好,我是柠檬哥,专注编程知识分享。欢迎关注@程序员柠檬橙,编程路上不迷路,私信发送以下关键字获取编程资源:发送1024打包下载10个G编程资源学习资料发送001获取阿里大神LeetCode...

Oracle 12c系列(一)|多租户容器数据库

作者杨禹航出品沃趣技术Oracle12.1发布至今已有多年,但国内Oracle12C的用户并不多,随着12.2在去年的发布,选择安装Oracle12c的客户量明显增加,在接下来的几年中,Or...

flutter系列之:UI layout简介(flutter-ui-nice)

简介对于一个前端框架来说,除了各个组件之外,最重要的就是将这些组件进行连接的布局了。布局的英文名叫做layout,就是用来描述如何将组件进行摆放的一个约束。在flutter中,基本上所有的对象都是wi...

Flutter 分页功能表格控件(flutter 列表)

老孟导读:前2天有读者问到是否有带分页功能的表格控件,今天分页功能的表格控件详细解析来来。PaginatedDataTablePaginatedDataTable是一个带分页功能的DataTable,...

Flutter | 使用BottomNavigationBar快速构建底部导航

平时我们在使用app时经常会看到底部导航栏,而在flutter中它的实现也较为简单.需要用到的组件:BottomNavigationBar导航栏的主体BottomNavigationBarI...

Android中的数据库和本地存储在Flutter中是怎样实现的

如何使用SharedPreferences?在Android中,你可以使用SharedPreferencesAPI来存储少量的键值对。在Flutter中,使用Shared_Pref...

Flet,一个Flutter应用的实用Python库!

▼Flet:用Python轻松构建跨平台应用!在纷繁复杂的Python框架中,Flet宛如一缕清风,为开发者带来极致的跨平台应用开发体验。它用最简单的Python代码,帮你实现移动端、桌面端...

flutter系列之:做一个图像滤镜(flutter photo)

简介很多时候,我们需要一些特效功能,比如给图片做个滤镜什么的,如果是h5页面,那么我们可以很容易的通过css滤镜来实现这个功能。那么如果在flutter中,如果要实现这样的滤镜功能应该怎么处理呢?一起...

flutter软件开发笔记20-flutter web开发

flutterweb开发优势比较多,采用统一的语言,就能开发不同类型的软件,在web开发中,特别是后台式软件中,相比传统的html5开发,更高效,有点像c++编程的方式,把web设计出来了。一...

Flutter实战-请求封装(五)之设置抓包Proxy

用了两年的flutter,有了一些心得,不虚头巴脑,只求实战有用,以供学习或使用flutter的小伙伴参考,学习尚浅,如有不正确的地方还望各路大神指正,以免误人子弟,在此拜谢~(原创不易,转发请标注来...

为什么不在 Flutter 中使用全局变量来管理状态

我相信没有人用全局变量来管理Flutter应用程序的状态。毫无疑问,我们的Flutter应用程序需要状态管理包或Flutter的基本小部件(例如InheritedWidget或St...

Flutter 攻略(Dart基本数据类型,变量 整理 2)

代码运行从main方法开始voidmain(){print("hellodart");}变量与常量var声明变量未初始化变量为nullvarc;//未初始化print(c)...