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在语言特性层面的对比,他们作为截然不同的两类面向对象高级语言,在语言层面上有何 ...
随机推荐
- SpringBoot 引入第三方 jar
SpringBoot 引入第三方 jar 项目结构 -BCJS |--lib |--hsm-talos-1.0.1.jar |--src |--pom.xml step1 : 配置第三方 jar 为依 ...
- CSS & JS Effect – Loading Button
效果 一个按钮, 点击以后中间出现 loading, 然后旋转. 思路 1. 监听点击, hide text, show loading 2. loading 定位中心 3. loading 是通过 ...
- CSS & JS Effect – Simulation Position Sticky (用 JavaScript 实现 position sticky)
前言 在 CSS – Position 我有提到过, 原生的 sticky 有一些 limitation. 不是每次都闪的掉. 这篇主要是通过 JS 来模拟它, 突破那些限制. Google Ads ...
- SEO – Schema and JSON-LD
大纲介绍 Schema 是 Google, Microsoft, Yahoo 联合成立的, 目的是统一网页的表示方式, 这样搜素引擎会比较方便显示内容. 它虽然不算那种 w3c 独立的组织. 但其它的 ...
- Redis 入门 - 收官
<Redis 入门>系列文章总算完成了,希望这个系列文章可以想入门或刚入门的同学提供帮助,希望能让你形成学习Redis系统性概念. 当时为什么要写这个系列文章,是因为我自己就是迷迷糊糊一路 ...
- Java获取Object中Value的方法
在Java中,获取对象(Object)中的值通常依赖于对象的类型以及我们希望访问的属性.由于Java是一种静态类型语言,直接从一个Object类型中访问属性是不可能的,因为Object是所有类的超类, ...
- C++ char*类型与vector类型的相互转换
char*类型与vector<char> 类型的相互转换 很多时候需要使用动态的字符串,但是char*难以完成相应的扩容操作,而动态数组vector则可以简单地完成,结合二者特性就可以完成 ...
- 【赵渝强老师】管理Docker镜像
一.什么是Docker的镜像 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙 ...
- c++线程--快速上手
线程创建 头文件#include thread 是在 C++11 标准中引入的. C++11 标准引入了对多线程编程的标准化支持,其中包括了线程的创建.管理和同步机制. 头文件提供了基本的线程支持库, ...
- iOS 14 UIDatePicker适配问题,使用老的选择器样式
iOS 14 UIDatePicker 在 13.4 新增了2个属性如下 @property (nonatomic, readwrite, assign) UIDatePickerStyle pref ...