在哪里为IPython放置用户定义的魔法

时间:2017-09-13 07:01:02

标签: ipython

根据the manual,魔法只是普通函数或IPython.core.magic.Magics派生类的成员函数,应使用

进行注册
get_ipython().register_magics(MyMagics)

我的问题:

  1. 我应该把这些类/函数定义放在哪里?我应该将其路径添加到$PYTHONPATH吗?
  2. 注册它们的标准位置在哪里?
  3. 是否有一个文件夹来保存所有用户定义的魔法,并在启动IPython时自动加载?

1 个答案:

答案 0 :(得分:0)

请完整阅读您要链接的页面,特别是在顶部,以红色显示:

  

本文档适用于旧版本的IPython。你可以找到更新版本的文档[这里]。

通过此链接,您可以找到新文档,尤其是this page

在此页面上,您可以找到以下内容:

  

下面我们展示代码,您可以将其放在从配置加载的文件中,例如默认IPython配置文件的启动子目录中的任何文件。

  

这是魔术包的完整示例。您可以使用setuptools,distutils或任何其他分发工具(如flit for pure Python包)分发magics。

总结:

可以在任何地方定义魔法,只要它们可以导入。

通常作者在定义load_ipython_extension函数的包中定义魔法,使其可以使用%load_ext加载,load_ipython_extension注册魔术。

您可以使用配置文件和c.InteractiveShellApp.extensions选项默认加载扩展名。