Jupyter笔记本是一种很好的方式,可以交互式地编写Python代码,并将文档、程序输出和数据可视化与产生的代码连在一起。许多IDE原生支持Jupyter笔记本,Jupyter笔记本服务器和JupyterLab环境也是编写笔记本的有效途径。但在引擎盖下,Jupyter笔记本只是一个JSON文档,而该文档的内容往往不是人类可以读编辑器手机版懂的。正因为如此,它可能在你的版本控制系统中产生混乱的差异。Jupytext是一个Jupyter插件,可以自动将Jupyter笔记本保存为各种人服务器租用类可读(和可编辑)的输出。它还允许将这些其他文件中的变化同步回笔记本文件(.ipynb
)本身。
你编辑器和ide的区别为什么要使用Jupytext?
有几个很好的理由可以考虑使用J浏览器哪个好upy编辑器哪个好用text。首先,你可能正在为在你的笔记本中正确进行版本控制而苦恼。我的关于版本控制的文章描述了这种情况,并给出了一些背景服务器内存条可以用在台式机上吗和解决这个问题的好办法,但它们未必对每种浏览器下载情况都编辑器手机版完美。使用像nbdime这样的专门的差异工具会使差异更容易浏览,但最终,单个笔记本文件(即.ipynb
文件)包含代码、输出和元数据。所有这些都可能改变前端和后端并污染你的差异,使版本管理成为一个挑战。
考虑Jupytext的第二个原因是,如果你喜欢在标准的Jupyter笔记本创作环境之外工作。也许你最喜欢在PyCharm或Visual Studio Code这样的IDE中写代码。或者你使用Vim或Emacs这样的文本编辑器,并喜欢你最喜欢的编辑器的全部功能。也许你在IPython会话中编写和测试一些代码,并且喜欢这样的笔记本,因变量英语为那里的代码单元很容易被打乱顺序。你也可能想在没有变量名的命名规则网络浏览器的情况下,在终端(也许是通过服务器内存和台式机内存区别SSH连接)中工作笔记本。
第三个原因是能够更有效地处理笔记本和笔记本的内容,特别是 Python 源代码。例如,如果源代码是以Python文件这样一种更常见的格式存储的,那变量类型有哪些么就有许多工具可以用来检查代码,包括linters和formatters/beautifi变量值ers。
我们将看一下Jupytext如何支持这三种情况的几个例子。
安装和设置
Jupytext很浏览器的历史容易用pip来安装。
pip install jupytext --upgrade
如果你使用的是Anaconda,则可以用它来安装。
conda install jupytext -c conda-forge
你很可能也会使用Jupyter Notebook或Lab环境。如果是这样,重新启动你的进程,在前端拾取Jupytext扩展。
笔记本或实验室的基本使用
了解Jupytext如何工作的最简单的方法是从一个简单的例子开始编辑器。在之前关于笔记本版本控制的文章中,我们用这个笔记本作为例子。这只是一个简单的笔记本,其中包括一个使用matplotlib
的绘图。在你设置了一个安装了matplotlib的前端和后端Jupyter笔记本(或JupyterLab)环境后,你可以在Jupyter笔记本中打开浏览器网站删除了怎么恢复这个笔记本(运行jupyter notebook
)。当你这样做时,你应该在文件菜单中看到一个Jupytex前端学什么t条目。勾选如下所示的数值,将你的笔记本同步到一个Python文件中。
Jupytext增加了菜单选项,按图示选择,以遵循该范例
首先,如果你主要想在脚本或Markdown服务器内存和台式机内存区别文件中工作(编辑器和ide的区别我稍后会讲到所有的格式),你应该关闭Jupyter的自浏览器怎么打开网站动保存功能。如果你主要想在Jupyter笔记本中工作,完成后只在脚本文件中检查,你可以让自动保存功前端和后端哪个工资高能处于启用状态。
一旦笔记本与脚本输出配对,该文件就会在与笔记本相同的目录下创建。在我的例子中,这意味着文件jupyter_gi服务器价格t_example.py
被创建。它看起来服务器租用多少钱一年像这样。
# ---
# jupyter:
# jupytext:
# formats: ipynb,py:percent
# text_representation:
# extension: .py
# format_name: percent
# format_version: '1.3'
# jupytext_version: 1.13.0
# kernelspec:
# display_name: Python 3
# language: python
# name: python3
# ---
# %%
import matplotlib.pyplot as plt
plt.plot([x**2 for x in range(100)])
# %%
这种格式被称为percent
格式,那些特殊的注释 (# %%
) 表示服务器系统笔记本的单元。
循环旅行
关于浏览器怎么打开网站这个文件,你应该注意几件事。Jupyt前端面试题ext会试着取其中一个文件的最新版本,用它来生成另一个。因前端和后端哪个工资高此,例如,如果你更新了笔记本,然后手动保存它(因为你关闭浏览器哪个好了自动保存功能),Jupytext将刷新.py
文件。反之亦然,如果你编辑.py
文件,它将更新笔记本中浏览器的历史记录在哪的匹配单元。试试吧:在文本编辑器中对.py编辑器哪个好用
文件做一个小的编辑,然后保存它(例如,将绘图改为使用0.5
,而不是2
)。然后,浏览器下载在笔记本中点击 “保存 “图标。Ju服务器内存和台式机内存区别pyter会警编辑器英语告你,磁盘上的文件已经改变,并给出三个选项。
- 取消 – 回到你已经看过的内容,但它与磁盘上保存的内容不一致。浏览器
- 重新加载 – 用保存在磁盘上的内容重新加载笔记本(现在与
.py
文件中的内容一致)。 - 覆盖 – 将在Jupytext刚刚更新的
.ipynb
文件上保存你的笔记本。
在这种情况下,你想从磁盘重新加载。单元格中的代码将被更新以符合你的编辑。然而编辑器小说,你需要知前端工程师道,它并不执行该单编辑器软件元格。输出仍然会反映x**2
而不是x**0.5
。另外,你正在运行的 Python 会话编辑器英语不会更新任何变量,因为这些代码还没有被执行。你可以重新执行这个单元,以变量的定义获取运行实例中的浏览器变化。上面这个例子可能看起来很混乱,但我认为它非常有效地展示了如何思考 Jupytext 的使用场景。
让我们更详细地考虑这三种使用场景。
版本控制
首先,如果你正在寻找一个有效的笔记本版本控制选项,你可以简单地安装Jupytext,将其与你想使用的输出格式配对,并在每次可提交的修改中检查生成的文件。你会得到干净的差异,用于历史跟踪。
在更复杂的情况下,比如分支和合并,你可以很容易地先对生编辑器成的脚本或Markdown进行合并,然后用Jupytext重前端开发需要掌握什么技术新生成输出笔记本。Jupytext包括一个命令行工具,所以在笔记本环境之外更新文件很容易浏览器哪个好。
jupytext --to notebook notebook.py # generates notebook.ipynb from notebook.py, using comment markers
我在这里强调一编辑器和ide的区别下,当你重新生成.变量之间的关系ipynb
文件时,它将不包含任何服务器租用输出。你仍然要决定服务器租用你是否要在笔记本文件中检查输出。如果你这样做,你需要在提交到版本控制之前重新执行笔记本(例如,通过使用Jupyte服务器内存和台式机内存区别r笔记本,或jupytext --execute
,或papermill)。
用其他工具进行编码
喜欢使用Jupytext编辑器软件的第二个原因是在IDE或文本编辑器中进行编码和编辑。在这种情况下,你的脚本或Markdown文件将是你工作的主要文件,而笔记本可以根据需要自动或手动生成和执行。使用这种方法,你可以得到清洁差异的所有好处,如果你喜欢使用你的IDE或者在Markdown环境中浏览器历史上的痕迹在哪里更舒服,你仍然可以使用笔记前端和后端本的格式来向其他人发布结果。这是两个世界的最佳选择。
代码质量工具
使用Jup编辑器135ytext的第三个优势领域是自动化代码检查和其他QA工具。由于你可以将笔记本转换成常规的Python代码,你可以自动运行pylint、flake8或black等linter/validators。如果Python代码隐藏在笔记本服务器系统文件中,那么就更难验证它是否符合你的组织的编码标准。
Jupytext的文档还描述了使变量之间的关系用预提交框架与常见的预提交钩子的集成。你可以确保每次笔记编辑器软件本代码提交到git时,都会被验证。
Jupytext支持变量很多格式,不仅仅是Markdow服务器操作系统n
上面的例子将笔记本文件同步到Python源文件,但还有很多其他的格式选择。
有变量的定义多种markdown格式支持。
- Jupytext Ma服务器内存和台式机内存区别rkdown – 一个简单的Markdown格式
- R Markdown- RStudio中的格式
- MyST- 标记的结构化文本
- PandocMarkdown – 用于Pandoc,通用文件转换器。它还可以转换笔记本(比如我用来写服务器租用这篇文章的笔记本!)。
- Qu前端和后端的区别arto- 一个基于Pandoc的科学出版服务器租用多少钱一年系统
Jupytext还支持多种类型的脚本浏览器历史上的痕迹在哪里输出,以及多种语言,不仅仅是Py浏览器怎么打开网站thon。这使得普通的代码文件也能生成笔记本。J浏览器的历史记录在哪upytext将特殊的注释解析为指令,然后将按照脚本中指定的元数据生成单独的笔记本单元。使用每种格式都有好处和坏处,而且大多数格式都支持完整的往返转换,正如我们服务器地址讨论的那样。Jupytext能够理解下列脚本格式。
- light – 一种为Jupytext项目创建的格式,单元格的开始和结束标记是
# +
,而# -
- nomarker – light的一个版本,但完全没有标记。这种格式不能被循浏览器的历史环使用。
- percent – 标记被放在代码中,采用这种格式。
# %% Opt变量的定义ional title [cell type] key="value"
- hydrogen – 与百分数非常相似,但它没有注释出Jupyter的魔法。
可能的问题
在配置变量是什么意思中加入Jupytext的主要问题之一就是多了一块复杂的东西。如果你想对已完成的笔记本与输出进行签入和版本控制,你现在需要提交两个文件,而不是一个。这对你来说可能并不值得,这取决于你的环境。
另一个问题是浏览器推荐,Jupytext是由命令行和官方的Jupyter创作工具支持的,但不是由所有其他IDE完全支持的,所以如果你使用一个不同的工具,你必须适应在命令行上进行转换。几乎在所有情况下,我都会说如果你打算在Jupyter中做更多的工作,就值得学习如何做。
最后,像往服务器价格常一样,你需要严格确保你的笔记本输出单元与生成它们的代码一致。保证这一点的最好方变量值法是,每次更新笔记本时,在提交之前,在内核重启后执行整个笔记本。你可以把这个再生步骤自动化,但真正的长篇笔记本可能会使这个步骤显得很繁编辑器手机版琐。只是要注意,J浏览器数据如何恢复upytext可能会更新笔记本文件,而你可能没有意识到这一点。
J变量与函数upytext是一个很好的插件,对于那些喜欢在Markdown或普通源文件中工作的人,以及那些练习使用代码验编辑器英语证工具的人来说,将非常有用。
python
The postJupytext – Jupyter notebooks as Markdown documents or Python scriptsappeared first onwrighters.io.