如何在ipython中重新加载类定义

Wen*_*Wen 7 ipython

因为我通常使用ipython来开发正在开发的代码,所以我遇到了在将其导入ipython之后更改类的代码的情况.我想重新加载新的类定义而不重新启动ipython.问题是ipython中的重载功能仅适用于模块.

我搜索了这个问题的解决方案并找到了一个前一个线程: 如何在python shell中重新加载一个类?

但是,我按照那里的方法,但它没有奏效.我认为它在该线程中工作的原因是类名碰巧与模块名称相同,因此可以在sys.modules中找到它,因此可以删除.当类名与模块名不同时,该方法不起作用.

我想知道是否有这个问题的解决方案.谢谢!

Tho*_*s K 6

是的,有一个名为'autoreload'的IPython扩展,正是出于这种情况.这是关于如何使用它的文档.