Skip to main content

未提供项目描述

项目描述

Python 中的 Jupyter 内核基类,包括核心魔术功能(包括帮助、命令和文件路径完成、并行和分布式处理、下载等)。

https://badge.fury.io/py/metakernel.png/ https://coveralls.io/repos/Calysto/metakernel/badge.png?branch=main https://travis-ci.org/Calysto/metakernel.svg https://anaconda.org/conda-forge/metakernel/badges/version.svg https://anaconda.org/conda-forge/metakernel/badges/downloads.svg

请参阅 Jupyter 关于wrapper kernels的文档。

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

特征

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

    • 并行运行内核。

    • 贝壳魔法。

    • 课堂管理魔法。

  • 魔术和文件路径的选项卡完成。

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

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

基于元内核的内核

……还有许多其他人。

安装

您可以通过pip安装 Metakernel :

从conda - forge 频道安装metakernel可以通过将conda -forge 添加到您的频道来实现:

启用 conda-forge 通道后,可以安装metakernel

可以使用以下命令列出您平台上可用的所有元内核版本:

在 IPython 中使用 MetaKernel Magics

尽管 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。在外壳中,键入:

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

ipcluster nbextension enable
  1. 要在本地 IP 地址上启动具有 10 个节点的集群,请在 shell 中键入:

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

%parallel MODULE CLASSNAME

例如:

%parallel calysto_scheme CalystoScheme
  1. 在 notebook 中并行运行代码,键入:

并行执行一行:

%px (+ 1 1)

或者并行执行整个单元格:

%%px
(* cluster_rank cluster_rank)

结果以cluster_rank顺序返回到 Python 列表(方案向量)中。(这将是未来的 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未在主机上定义,并且假定主机内核与并行机器相同。

配置

元内核子类可以由用户配置。配置文件名由子类的app_name属性决定。例如,在Octave内核中,它是octave_kernel。内核用户可以将octave_kernel_config.py文件添加到他们的 jupyter配置路径。基础MetaKernel类提供plot_settings作为可配置的特征。子类可以定义他们希望可配置的其他特征。

举个例子:

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

文档

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

文档可在线获取。魔术有交互式帮助(和在线)。

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

项目详情