我有一个/tmp/throwaway文件_代码.py有点像
def hello():
print("world")
和IPython一起试试:
^{pr2}$现在我更改了文件中的某些内容并想重新加载。如何在不重新启动IPython或模块化代码的情况下完成它?在
我失败的尝试:
In [2]: %load_ext autoreload
In [3]: %autoreload 2
# change source file
In [4]: hello()
world
# Expected: world2.
或者,我如何以最小的努力离开并重新进入IPython会话(目前有6个按键:Ctrl、D、y、Return、Up、Return)?在
在IPython3中,使用reload(mymodule),可以在同一个包中重新加载所有模块。把这个代码粘贴在重新加载.py在IPython3启动文件夹中(在Ubuntu上是“~/.ipython/profile_default/startup/”)
autoreload
在这里不起作用,模块不是用-i
选项放在sys.modules
中:因此
reload
找不到您希望它重新加载的模块。在一种解决方法是显式地}每次都会获取更改。所以您应该退出IPython并用适当的
^{pr2}$import
将它放在sys.modules
中的模块,然后{PYTHONPATH
启动它,这样您的代码就可以作为模块导入。您的会话应该如下所示:相关问题 更多 >
编程相关推荐