2013-02-27 49 views
0

如果我的IPython会话运行时间过长(see comments on this post),我敦促exit()并重新启动IPython以释放该会话中所有变量占用的内存。然而,重新启动需要宝贵的时间,我觉得很烦人(不是我不能忍受它,但我不应该)。%重置后重新加载自动导入

我发现了杀死我所有变量(yay!)的魔法函数%reset,但这样做也杀死了导入到我的命名空间的名称。这些包括在~/.ipython/profile_default/startup/00-imports.py中定义的自动导入,这是我想在IPython会话启动时执行的导入。

有没有办法让我重新运行这些导入(有点像bash中的source命令);或更好的是,是否有一个版本的%reset杀死我的变量,但不是进口?

技术细节

  1. IPython的版本:0.13.1
  2. 操作系统:Mac OS X 10.7.5(狮子)

回答

0

定义自己的神奇功能,以

  • 来电重置
  • 重新导入进口

你也许可以称之为

%deset 

或者类似的东西。

您需要了解如何操作的所有内容是here

+0

重新导入我的导入是否有魔力? – inspectorG4dget 2013-02-27 16:24:41

+0

编写你自己的。 – 2013-02-27 16:25:43

+0

要得到一个导入模块的列表,你可以从类型import ModuleType; [s for s in globals()if isinstance(globals()[s],ModuleType)]''。我想你可以打印格式化的名称作为import语句和'exec',或者使用'__import __(module_name)'。 – 2013-02-27 16:29:20