我如何重新加载ipython中的类定义
因为我通常使用ipython来处理正在开发的代码,所以我遇到了将类导入到ipython后更改类的代码的情况。 我想在不重新启动ipython的情况下重新加载新的类定义。 问题是ipython中的重载功能仅适用于模块。
我搜索了这个问题的解决方案,并发现了一个前面的线程:如何重新加载一个类在Python shell?
但是,我遵循那里的方法,但没有奏效。 我认为它在该线程中起作用的原因是类名碰巧与模块名相同,所以它可以在sys.modules中找到,因此可以删除。 当类名称与模块名称不同时,该方法无法工作。
我想知道是否有解决这个问题。 谢谢!
是的,有一个名为'autoreload'的IPython扩展就是这种事情。 以下是关于如何使用它的文档。
您也可以重新加载单个模块
例如:
#reload every time
import my_module
reload(my_module)
#reload a module recursively
import deep_reload_my_module
dreload(deep_reload_my_module)
链接地址: http://www.djcxy.com/p/62825.html
上一篇: How can I reload a class definition in ipython
下一篇: c++