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在语言特性层面的对比,他们作为截然不同的两类面向对象高级语言,在语言层面上有何 ...
随机推荐
- web前端常用的五种方式搭建本地静态html页面服务器
方式一:live-server live-server是一款npm工具,可以在项目目录启动一个node服务,然后直接在浏览器中预览,并且自动全局监听实时更新. 两种安装方式: 全局安装 npm i l ...
- QT原理与源码分析之QT对象类型QObject源码中的间接的设计思想
这一篇文章介绍QT框架中QT对象类型QObject类型的源代码在设计上的一个比较优秀的设计思想. QObject类型定义 QObject 直接来看QObject的源代码.为了表达更简洁更直观,这里省略 ...
- HiveServer2 文件描述符泄漏
现象 用户反馈 hs2 打开的文件描述符的数量一直在涨,但是当前 hs2 的连接只有个位数. 排查过程 首先找到 hs2 进程持有了哪些文件描述符,通过 lsof 命令 lsof -p $pid ,看 ...
- 《Vue.js 设计与实现》读书笔记 - 第11章、快速 Diff 算法
第11章.快速 Diff 算法 11.1 相同的前置元素和后置元素 快速 Diff 算法包含预处理步骤,这借鉴了纯文本 Diff 算法的思路. 先把相同的前缀后缀进行处理,然后再比较中间部分. fun ...
- LeetCode 730. Count Different Palindromic Subsequences (区间DP)
题意 给一个字符串S,求它所有子序列中不同非空回文串的数量.字符串由 'a' 'b' 'c' 'd' 四个字母组成. 由于题目要求的是不同回文串. abba 的回文串子序列为 a,b,aba,abba ...
- 从SQL Server过渡到PostgreSQL:理解模式的差异
从SQL Server过渡到PostgreSQL:理解模式的差异 前言 随着越来越多的企业转向开源技术,商业数据库管理员和开发者也逐渐面临向PostgreSQL迁移的需求. 虽然SQL Server和 ...
- /proc/vmalloc
root@pita2_mr813_tina35:/# cat /proc/vmallocinfo 0xffffff80007d0000-0xffffff8000902000 1253376 load_ ...
- 将读取的.raw文件转换为tensor张量送入网络
# coding:utf-8 import numpy as np import torch # 首先确定原图片的基本信息:数据格式,行数列数,通道数 rows=886#图像的行数 cols=492# ...
- 何为ORM框架?和ADO.NET 对比
百度:ORM(Object Relational Mapping)框架采用元数据来描述对象与关系映射的细节,元数据一般采用XML格式,并且存放在专门的对象一映射文件中.简单理解为一种框架的格式 . 只 ...
- 06 导师不敢和你说的水论文隐藏技巧,顶刊、顶会、水刊的论文读哪个,如何做一个称职的学术裁缝.md
博客配套视频链接: https://www.bilibili.com/video/BV11g41127Zn/?spm_id_from=333.788&vd_source=b1ce52b6eb3 ...