IPython magics是如何工作的
ipthonsql是ipython的一个扩展,我首先通过pip安装ipythonsql来安装它 项目在这里: 我的问题是: 当我输入%load_ext sql并按SHIFT+enter时,IPython执行这个神奇句子的详细过程是什么?谢谢IPython magics是如何工作的,ipython,ipython-notebook,ipython-magic,Ipython,Ipython Notebook,Ipython Magic,ipthonsql是ipython的一个扩展,我首先通过pip安装ipythonsql来安装它 项目在这里: 我的问题是: 当我输入%load_ext sql并按SHIFT+enter时,IPython执行这个神奇句子的详细过程是什么?谢谢 当您运行笔记本电脑中的任何代码时,一个执行请求将通过笔记本电脑服务器发送到一个“内核”,该进程将执行您的代码 当内核接收到您的代码时,它会通过一系列输入转换器运行代码。其中一个检测到此行是一个魔术命令,并将其重写为: get_ipython().magic(
当您运行笔记本电脑中的任何代码时,一个
执行请求将通过笔记本电脑服务器发送到一个“内核”,该进程将执行您的代码
当内核接收到您的代码时,它会通过一系列输入转换器运行代码。其中一个检测到此行是一个魔术命令,并将其重写为:
get_ipython().magic('load_ext sql')
您可以使用%hist-t
查看这些已翻译的命令
.magic()
方法获取其参数的第一个单词load\u ext
,并在字典中查找它。您可以通过运行以下命令查看该词典:
get_ipython().magics_manager.magics['line']
(这可能有点不同,取决于您的IPython版本)
这给了它一个方法IPython.core.magics.extension.ExtensionMagics.load\u ext
,您可以看到。它使用字符串的其余部分调用该方法
该方法导入包sql
,并调用sql.load\u ipython\u extension(ip)
对其进行设置。这取决于扩展的功能——在本例中,它注册了一些新的魔法函数