跳转到主要内容

未提供项目描述

项目描述

Python中的Jupyter内核基类,包括核心魔法函数(包括帮助、命令和文件路径补全、并行和分布式处理、下载等)。

https://badge.fury.io/py/metakernel.png/ https://coveralls.io/repos/Calysto/metakernel/badge.png?branch=main https://github.com/Calysto/metakernel/actions/workflows/tests.yml/badge.svg?query=branch%3Amain++ https://anaconda.org/conda-forge/metakernel/badges/version.svg https://anaconda.org/conda-forge/metakernel/badges/downloads.svg

请参阅Jupyter关于包装内核的文档。

可以在新内核包下的magics子包中安装额外的魔法。

特性

  • 所有内核的基本行和单元格魔法集。
    • Python魔法用于访问Python解释器。

    • 并行运行内核。

    • Shell魔法。

    • 课堂管理魔法。

  • 魔法和文件路径的Tab补全。

  • 使用?或Shift+Tab为魔法提供帮助。

  • 用于设置默认绘图行为的绘图魔法。

基于Metakernel的内核

……以及许多其他。

安装

您可以通过 pip 安装 Metakernel

pip install metakernel --upgrade

要从 conda-forge 频道安装 metakernel,请使用以下命令将 conda-forge 添加到您的频道

conda config --add channels conda-forge

一旦启用了 conda-forge 频道,就可以使用以下命令安装 metakernel

conda install metakernel

可以使用以下命令列出您平台上的所有 metakernel 版本

conda search metakernel --channel conda-forge

在 IPython 中使用 MetaKernel 魔术

尽管 MetaKernel 是构建新内核的系统,但您可以使用 IPython 内核中的一部分魔术

from metakernel import register_ipython_magics
register_ipython_magics()

将以下内容放入您的(或全局的) ipython_config.py 文件中

# /etc/ipython/ipython_config.py
c = get_config()
startup = [
   'from metakernel import register_ipython_magics',
   'register_ipython_magics()',
]
c.InteractiveShellApp.exec_lines = startup

并行使用 MetaKernel 语言

要并行使用 MetaKernel 语言,请按照以下步骤操作

  1. 请确保已安装 Python 模块 ipyparallel。在 shell 中输入

pip install ipyparallel
  1. 要在笔记本中启用扩展,在 shell 中输入

ipcluster nbextension enable
  1. 要在本地 IP 地址上启动一个包含 10 个节点的集群,在 shell 中输入

ipcluster start --n=10 --ip=192.168.1.108
  1. 在笔记本中从主机内核 MODULECLASSNAME(可以是任何 metakernel 内核)初始化代码以使用 10 个节点

%parallel MODULE CLASSNAME

例如

%parallel calysto_scheme CalystoScheme
  1. 在笔记本中并行运行代码,输入

并行执行单行

%px (+ 1 1)

或并行执行整个单元格

%%px
(* cluster_rank cluster_rank)

结果以 Python 列表(Scheme 向量)的形式返回,按 cluster_rank 顺序。在未来将是 JSON 表示形式)。

因此,上述操作将产生以下结果

#10(0 1 4 9 16 25 36 49 64 81)

您可以通过访问变量 _(单个下划线)或使用 --set_variable VARIABLE 标志(如下所示)在主机内核中的任何并行魔术(%px%%px%pmap)中获取结果

%%px --set_variable results
(* cluster_rank cluster_rank)

然后,在下一个单元格中,您可以访问 results

请注意,您可以使用变量 cluster_rank 来划分问题的部分,以便每个节点都在处理不同的内容。

在上面的示例中,请使用 -e 在主机内核中评估代码。请注意,cluster_rank 在主机机器上未定义,并且这假定主机内核与并行机器相同。

配置

用户可以配置 Metakernel 子类。配置文件名由子类的 app_name 属性确定。例如,在 Octave 内核中,它是 octave_kernel。该内核的用户可以向他们的 jupyter 配置路径添加一个 octave_kernel_config.py 文件。基本 MetaKernel 类提供 plot_settings 作为可配置特性。子类可以定义它们希望可配置的其他特性。

例如

cat ~/.jupyter/octave_kernel_config.py
# use Qt as the default backend for plots
c.OctaveKernel.plot_settings = dict(backend='qt')

文档

示例笔记本可以在 这里 查看。

文档可在在线获取。Magics有交互式帮助(以及在线)。

有关版本信息,请参阅变更日志

项目详情


发布历史 发布通知 | RSS订阅

下载文件

下载适用于您平台的文件。如果您不确定该选择哪个,请了解有关安装包的更多信息。

源代码发行版

metakernel-0.30.2.tar.gz (191.7 kB 查看哈希值

上传时间 源代码

构建发行版

metakernel-0.30.2-py3-none-any.whl (217.8 kB 查看哈希值

上传时间 Python 3

由以下支持