gpt4 book ai didi

python - 使用嵌入式 shell 时,如何让 IPython autoreload 魔法自动加载?

转载 作者:太空宇宙 更新时间:2023-11-03 11:31:41 25 4
gpt4 key购买 nike

我的 ipython_config.py 中有以下内容:

print "Test autoreload" #confirm this gets loaded
c = get_config()
c.InteractiveShellApp.extensions = ['autoreload']
c.InteractiveShellApp.exec_lines = ['%autoreload 2']

它似乎适用于普通的 ipython session :

$ ipython
Test autoreload
In [1]: %autoreload 2
In [2]:

但是,当使用使用 IPython.embed() 的嵌入式 shell 脚本时,自动重载魔法不再有效。

例如,在shell.py中:

from IPython import embed
embed()

这仍然会加载我的 ipython_config.py,正如 "Test autoreload" 打印出来所证明的那样,但是 autoreload 扩展没有被加载(没有 %autoreload 魔法):

$ python shell.py
Test autoreload
In [1]: %autoreload 2
ERROR: Line magic function `%autoreload` not found.

最佳答案

据我所知,这是一个 (known)漏洞。仅当存在应用程序时才加载扩展,因此在使用嵌入时不会加载(尽管已读取配置)。

有一个open issue在 github 上修复此问题,但从未实现。

关于python - 使用嵌入式 shell 时,如何让 IPython autoreload 魔法自动加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18257758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com