【问题标题】:where to put user defined magics for IPython将用户定义的 IPython 魔法放在哪里
【发布时间】:2017-09-13 07:01:02
【问题描述】:

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

get_ipython().register_magics(MyMagics)

我的问题:

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

【问题讨论】:

    标签: ipython


    【解决方案1】:

    请完整阅读您要链接的页面,特别是顶部用红色写的:

    本文档适用于旧版本的 IPython。您可以在 [此处] 找到较新版本的文档。

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

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

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

    这是一个魔术包的完整示例。您可以使用 setuptools、distutils 或任何其他分发工具(如用于纯 Python 包的 flit)分发魔法。

    总结一下:

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

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

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

    【讨论】:

      猜你喜欢
      • 2012-09-10
      • 1970-01-01
      • 1970-01-01
      • 2021-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多