pycharm集成Jupyter Notebook
1. Jupyter Notebook
Jupyter项目是一个非盈利的开源项目,源于 2014 年的 ipython 项目,支持运行 40 多种编程语言。
Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享程序文档,支持实时代码,数学方程,可视化和 markdown。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等。基于它用途的广泛性, 它现在是非常流行的开发工具。
在 PyCharm 内, 可以轻松地编辑、执行和调试 Jupyter Notebook 源代码,并检查执行输出,包括流数据、图像等等。
2. 在 PyCharm 编辑 Jupyter Notebook 文件
step1: 创建新的 Python 项目,指定虚拟环境,并安装 jupyter 包。

step2: 在 “Project” 工具栏的上下文菜单里选择 New -> Jupyter Notebook, 在弹出窗口中输入文件名。

step3: 扩展名为 .ipynb 文件被创建, 下面的编辑窗口将显示。

step4: Jupyter 是个WEB应用,点击黄色灯泡按钮,在菜单中选择 Start Jupyter Server。

点击日志中的链接,浏览器显示如下:

step5: 回到PyCharm编辑文件。Notebook file 是由一个个cell构成的,有三种类型 code、raw 与markdown cell。(cell: 一对In Out会话被视作一个代码单元, 每个代码单元可以单独执行)

Tips: 在编辑Python Code Cell 时,相应的代码补全,语法高亮显示,错误信息提示及快速修复等等功能与编辑标准的Python文件一样都是支持的。
编辑完成以后,我们刷新一下对应的浏览器页面,PyCharm 内编辑的内容已经同步更新了。

3. 运行与调试 Code Cell
3.1 运行 Code Cell
文件创建完成以后,在 PyCharm 里可以直接运行了。PyCharm 提供了多种运行方式,既可以单独运行一个 Cell, 也可以一次全部运行。不仅可以在同一页面查看运行结果,还可以查看变量详情。

此时,我们刷新一下对应的浏览器页面,运行 Cell 生成的图表也显示出来了。

除此以外, 点击工具栏中 黄色灯泡图标,在菜单中选择其它的运行方式:
- Run Cell:执行当前 Cell;
- Run All Above:执行当前与当前 Cell 上面的所有 Cell;
- Run All Below:执行当前与当前 Cell 后面的所有 Cell;
- Run Cell and Select Below:执行当前Cell, 并导航到下一个Cell;
- Debug Cell:开始调试Cell。

在执行过程中,要注意 Cell 之间的依赖关系,比如当前 Cell 代码调用了前一个 Cell 的变量,在执行当前Cell 以前,要先执行前面的Cell, 否则会报错。

3.2 调试
在 Code Cell 中设置断点,点击绿色箭头图标,然后选择"Debug Cell"。过程与调试标准的Python 是没实质性区别的。

Tips: 如果 当前 Cell 从任何其它 Cell 调用函数,至少要保证函数所在的 Cell 是被 Run过的,如果想单步执行该函数, 需要函数所在的Cell 是被 Debug 过,而不仅仅是 Run 过,这样函数内相关的断点才工作。
4. Jupyter Server 管理
4. 1 启动与关闭服务
前面提到通过点击工具栏 黄色灯泡 图标,在弹出菜单中选择 Start Jupyter Server启动服务。实际上要运行 Jupyter 服务器,只需执行任何 Cell 就可以了。当启动 Cell 执行时,PyCharm 使用任何可用端口(默认 8888 端口)在本地主机上启动 Jupyter 服务器。Jupyter 工具窗口会自动打开。

4.2 配置 Server
当启动任何托管服务器时,默认情况下它使用当前项目解释器和自动选择的端口。实际上可以选择 PyCharm 实例中可用的任何其他解释器,并指定备用端口。也可以使用其它已知 jupyter 服务器的 URL 和 Token,连接到该服务器。
step1: 在 Jupyter 服务器列表中选择"Configure Jupyter Server", 打开服务器设置。

step2: 配置服务器
要自定义默认的 Jupyter 服务器,请在 Jupyter 服务器对话框中选择 Use Managed Server (托管服务器),从 Python 解释器列表中选择任何本地 Python 解释器

更改自动检测到的端口,在"port"字段中键入其编号。

除此以外,也可以连接到任何正在运行的 Jupyter 服务器,请在 Jupyter 服务器对话框中选择"Configured Server"并指定服务器的路径,比如: 在本地命令行终端启动一个 Jupyter server 。

拷贝上面的链接到下面的输入框中,包括 url 与 token。

step3: 点击 ok, 然后,切换到配置的服务器,在工具栏中的服务器列表中选择"Switch to current Jupyter Server"。

step4: 执行代码后, 可能会遇到下面的信息“新配置的服务器的内核与当前项目解释器不匹配”

单击相应的链接Register project interpreter as kernel(将项目解释器注册为配置服务器上的内核)。然后可以在配置的服务器的内核列表中看到它,就可以正常运行 Cell 了。

进程管理, 添加文件/etc/systemd/system/jupyter.service
[Unit]
Description=Jupyter Service [Service]
Type=forking
ExecStart=/usr/bin/python3 -m IPython notebook
KillMode=process
Restart=on-failure
RestartSec=3s [Install]
WantedBy=multi-user.target
systemctl start jupyter systemctl enable jupyter
pycharm集成Jupyter Notebook的更多相关文章
- pycharm 使用jupyter notebook 报错:'_xsrf' argument missing from POST
出问题的关键点就在: 我用cmd启动的jupyter notebook,然后用pycham新建了一个jupyter notebook 结果 一直报错'_xsrf' argument missing f ...
- Pycharm安装并配置jupyter notebook
Pycharm安装并配置jupyter notebook Pycharm安装并配置jupyter notebook 一: 安装命令jupyter: pip install jupyter 如果缺少依赖 ...
- python插件,pycharm基本用法,markdown文本编写,jupyter notebook的基本操作汇总
5.14自我总结 一.python插件插件相关技巧汇总 安装在cmd上运行 #比如安装 安装:wxpy模块(支持 Python 3.4-3.+ 以及 2.7 版本):pip3 install wxpy ...
- 详解 jupyter notebook 集成 spark 环境安装
来自: 代码大湿 代码大湿 1 相关介绍 jupyter notebook是一个Web应用程序,允许你创建和分享,包含活的代码,方程的文件,可视化和解释性文字.用途包括:数据的清洗和转换.数值模拟.统 ...
- win10下Anaconda 2 和 3 共存安装,并切换jupyter notebook和Pycharm中的对应版本
win10下Anaconda 2 和 3 共存安装,并切换jupyter notebook和Pycharm中的对应版本 zoerywzhou@163.com http://www.cnblogs.co ...
- Python 代码编辑器怎么选?PyCharm、VS Code、Jupyter Notebook 都各有特色
Python 代码编辑器怎么选?PyCharm.VS Code.Jupyter Notebook 都各有特色,Jupyter 适合做数据分析这些需要可视化的操作,PyCharm 更适合做完整的 Pyt ...
- Jupyter notebook导入Pycharm项目的.py文件里的模块及方法
Jupyter notebook导入Pycharm项目种的.py文件里的模块及方法 需要在Jupyter notebook里调用自己写的代码,过程如下. 首先在Pycharm里写好一个文件,例如DCC ...
- 在 jupyterlab 和 jupyter notebook 中集成conda虚拟环境
在jupyterlab中切换虚拟环境使用jupyter-conda包,参考链接:https://pypi.org/project/jupyter-conda/ Install Requirements ...
- python︱Anaconda安装、简介(安装报错问题解决、Jupyter Notebook)
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 安装完anaconda,就相当于安装了Pyth ...
- 写给.NET开发者的Python教程(一):C# vs Python: 语言特性、Conda和Jupyter Notebook环境
承接上篇,本文会从语言特性.开发环境和必备工具来带领大家进入Python的世界. 语言特性 首先一起看下C#和Python在语言特性层面的对比,他们作为截然不同的两类面向对象高级语言,在语言层面上有何 ...
随机推荐
- Pointer Event Api-整合鼠标事件、触摸和触控笔事件
Pointer Events API 是Hmtl5的事件规范之一,它主要目的是用来将鼠标(Mouse).触摸(touch)和触控笔(pen)三种事件整合为统一的API. Pointer Event P ...
- MDC – Get Started
前言 Angular Material 为了更好的和 Material Design 保持一致, 放弃了自己开发, 改而使用 wrapping MDC 的方式来维护 Angular Material. ...
- Angular 学习笔记 work with zip (压缩文件格式)
最近在做批量创建. 上回说到了 读写 excel, 那么就可以通过 excel 的资料来创建资料了.但是资料经常会有图片,而 excel 里面放图片有点不太好. 于是就想 upload excel 的 ...
- 七,MyBatis-Plus 扩展功能:乐观锁,代码生成器,执行SQL分析打印(实操详细使用)
七,MyBatis-Plus 扩展功能:乐观锁,代码生成器,执行SQL分析打印(实操详细使用) @ 目录 七,MyBatis-Plus 扩展功能:乐观锁,代码生成器,执行SQL分析打印(实操详细使用) ...
- Android Qcom USB Driver学习(五)
前面的几篇都有涉及,所以本文学习一下pmic usb charger都相关的vote机制 OVP: Over Voltage Protection 过压保护 USB_IN: Input current ...
- 玩玩虚拟化-KVM
1.讲在前面(玩这个的心历路程) 最近一段时间想玩一些集群之类的东西,学习搞一下K8s,集群啥的,但是我没有多台服务器,如果购买云服务器成本太高,后来想到了买台台式机弄点虚拟机来玩,于是我就在某鱼上淘 ...
- 一文详述:AI 网关与 API 网关到底有什么区别?
近年来AI 发展火热,大模型已经成为推动各行各业业务创新和增长的关键力量.随之而来问题是"企业该如何安全管理和部署AI应用的挑战?"AI基础架构的设计不仅要支持现有的业务需求,还要 ...
- Js数组&高阶函数
数组也是一种复合数据类型,在数组可以存储多个不同类型的数据 数组中存储的是有序的数据,数组中的每个数据都有一个唯一的索引可以通过索引来操作获取数据 数组中存储的数据叫做元素 任何类型的值都可以成为数组 ...
- C++ 字面值常量的类型
在C++中,字面常量(literal constant)即无需定义可以直接写出来的量.字面常量的值一望便知,但是他的数据类型往往不能被准确分辨(尤其是使用auto时). 我们直接写出来的有确定值的量就 ...
- 经验总结之 _DEBUGGER _01 _Invalid coercion null-node{} as xsstring _20210909
经验总结之 _DEBUGGER _01 _Invalid coercion null-node{} as xsstring _20210909 今天喜提一个bug,报错情况如下: 该项目使用的是 sp ...