技术标签: jupyter lab文档位置默认system jupyter 代码自动补全 vscode可以打开jupyternotebook吗 vscode markdown jupyter中怎么把图形在一个单独的窗口显示 jupyter notebook导出pdf
晓查 发自 凹非寺
量子位 报道 | 公众号 QbitAI
本月,微软给VS Code加入了一项令人感到惊喜的功能:直接在编辑器中运行调试Jupyter Notebook,而无需任何第三方插件。
过去开发者想要运行调试.ipynb文件,几乎只能使用网页。
虽然后来PyCharm也加入了对它的支持,但是PyCharm远不及VS Code轻量和简洁。
VS Code不仅支持Jupyter笔记本的基本操作,还可以将笔记本导出为Python文件,并且在编写Jupyter代码时和Python一样,也能用上智能提示(IntelliSense)等功能。
安装配置
在VS Code中使用Jupyter笔记本非常方便,只需安装扩展商店中的官方Python扩展包即可。前提是你的系统原来也安装了Jupyer Notebook。
另外在使用Jupyter笔记本前,必须在VS Code中激活Anaconda环境。打开命令面板(Mac用户:⇧⌘P,Windows用户:Ctrl+Shift+P),输入Python: Select Interpreter选择安装了Jupyter的解释器。
使用方法
创建Jupytert笔记本可以在命名面板中输入Python: Create Blank New Jupyter Notebook,或者直接创建一个后缀名为.ipynb的文件。
打开这个文件就可以看到运行界面上方多了一排按钮:
创建好空白文件后,笔记本文件会在开头显示一个空的代码单元格,我们将以下这段代码填入单元格中。
msg = “Hello world”
print(msg)
基本操作
代码单元格可以处于三种状态:未选中、命令模式和编辑模式。这三种状态由代码单元格左侧的竖线表示。如果看不到任何竖条,则表示该单元格未被选中。
当代码单元格处于命令模式时,左侧的竖线为蓝色长条,表示已被选中。
若处于编辑模式时,则竖线将带有绿色斜线阴影。
后面两种模式该如何切换?从编辑模式切换到命令模式,按ESC键;从命令模式切换到编辑模式,按Enter键。
但是Jupyter笔记本通常不会只有一个单元格。点击笔记本底部或者顶部的的“+”图标,都可以添加新的代码单元格。
还有一种更快速创建单元格的方法:当处于命令模式时,按下A将在所选单元格上方添加一个单元格,按下B将在所选单元格下方添加一个单元格。
写好代码后,点击单元格中的绿色箭头,运行结果将显示在下方。
也可以点击窗口上方的双箭头来运行所有的单元格。
删除代码单元可以通过工具栏中的删除图标,或者选定的代码单元格处于命令模式下时,按下dd来删除。
编辑Markdown
Jupyter笔记本的特点就是将Markdown文档和Python代码结合在一起,如果我们想写一段文档而不是代码,则需要点击单元格中的Markdown图标,将代码模式转变成文档模式。
进入该模式后,用Markdown语言写入一个标题,完成后将自动转为Markdown版式。
可视化工具
Jupyter笔记本另一大特点就是可以直接在代码中显示图表,VS Code当然也是支持该功能的。
在运行代码单元格之后,单击顶部工具栏中的“ 变量”图标,我们将看到当前变量的列表,当在代码中使用变量时,这些列表将自动更新。
单击每个列标题可以对表中的变量进行排序。
有关变量的其他信息,也可以双击某一行或使用“显示变量”按钮,在数据查看器中查看变量的更详细视图。打开后,您可以通过搜索各行来过滤值。
VS Code也提供绘图查看器的功能。在查看器中,可以平移、缩放和浏览当前会话中的图。还可以将它们导出为PDF、SVG和PNG格式。
调试
要调试Jupyter笔记本,需要先选择主工具栏中的“转换”按钮,将其导出为Python文件。
点击后,将导出一个.py文件。保存.py文件后,原来的单元格上方会出现“Debug cell”字样,点击即可。
VS Code调试工具可以单步执行代码、设置断点、检查状态并分析问题。
最后,VS Code还可以连接到远程Jupyter服务器,从而在远程计算机上运行代码。
打开命令面板,运行Python: Specify Jupyter server URI。出现提示时,输入服务器的地址以及token。
官方博客:
Working with Jupyter Notebooks in Visual Studio Codecode.visualstudio.com— 完 —
量子位 · QbitAI
վ'ᴗ' ի 追踪AI技术和产品新动态
戳右上角「+关注」获取最新资讯
如果喜欢,请分享or点赞吧~比心
文章浏览阅读3.8k次,点赞9次,收藏28次。直接上一个工作中碰到的问题,另外一个系统开启多线程调用我这边的接口,然后我这边会开启多线程批量查询第三方接口并且返回给调用方。使用的是两三年前别人遗留下来的方法,放到线上后发现确实是可以正常取到结果,但是一旦调用,CPU占用就直接100%(部署环境是win server服务器)。因此查看了下相关的老代码并使用JProfiler查看发现是在某个while循环的时候有问题。具体项目代码就不贴了,类似于下面这段代码。while(flag) {//your code;}这里的flag._main函数使用while(1)循环cpu占用99
文章浏览阅读347次。idea shift f6 快捷键无效_idea shift +f6快捷键不生效
文章浏览阅读135次。Ecmacript 中没有DOM 和 BOM核心模块Node为JavaScript提供了很多服务器级别,这些API绝大多数都被包装到了一个具名和核心模块中了,例如文件操作的 fs 核心模块 ,http服务构建的http 模块 path 路径操作模块 os 操作系统信息模块// 用来获取机器信息的var os = require('os')// 用来操作路径的var path = require('path')// 获取当前机器的 CPU 信息console.log(os.cpus._node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是
文章浏览阅读10w+次,点赞435次,收藏3.4k次。SPSS 22 下载安装过程7.6 方差分析与回归分析的SPSS实现7.6.1 SPSS软件概述1 SPSS版本与安装2 SPSS界面3 SPSS特点4 SPSS数据7.6.2 SPSS与方差分析1 单因素方差分析2 双因素方差分析7.6.3 SPSS与回归分析SPSS回归分析过程牙膏价格问题的回归分析_化工数学模型数据回归软件
文章浏览阅读7.5k次。如何利用hutool工具包实现邮件发送功能呢?1、首先引入hutool依赖<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.19</version></dependency>2、编写邮件发送工具类package com.pc.c..._hutool发送邮件
文章浏览阅读867次,点赞2次,收藏2次。docker安装elasticsearch,elasticsearch-head,kibana,ik分词器安装方式基本有两种,一种是pull的方式,一种是Dockerfile的方式,由于pull的方式pull下来后还需配置许多东西且不便于复用,个人比较喜欢使用Dockerfile的方式所有docker支持的镜像基本都在https://hub.docker.com/docker的官网上能找到合..._docker安装kibana连接elasticsearch并且elasticsearch有密码
文章浏览阅读1.3w次,点赞57次,收藏92次。整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)近年来,随着机器学习的兴起,有一门编程语言逐渐变得火热——Python。得益于其针对机器学习提供了大量开源框架和第三方模块,内置..._beeware
文章浏览阅读7.9k次。//// ViewController.swift// Day_10_Timer//// Created by dongqiangfei on 2018/10/15.// Copyright 2018年 飞飞. All rights reserved.//import UIKitclass ViewController: UIViewController { ..._swift timer 暂停
文章浏览阅读986次,点赞2次,收藏2次。1.硬性等待让当前线程暂停执行,应用场景:代码执行速度太快了,但是UI元素没有立马加载出来,造成两者不同步,这时候就可以让代码等待一下,再去执行找元素的动作线程休眠,强制等待 Thread.sleep(long mills)package com.example.demo;import org.junit.jupiter.api.Test;import org.openqa.selenium.By;import org.openqa.selenium.firefox.Firefox.._元素三大等待
文章浏览阅读3k次,点赞4次,收藏14次。Java软件工程师职位分析_java岗位分析
文章浏览阅读2k次。Java:Unreachable code的解决方法_java unreachable code
文章浏览阅读1w次。1、html中设置标签data-*的值 标题 11111 222222、点击获取当前标签的data-url的值$('dd').on('click', function() { var urlVal = $(this).data('ur_如何根据data-*属性获取对应的标签对象