如何在IPython中自动重新加载模块?
如何在IPython中自动重新加载模块?
在开始之前,我想说我不是一个程序员;我是一个极客和工程师。因此,我热爱编码并在学术上使用它。Stackoverflow教会了我超过80%的关于Python的知识。\n我的问题是,我需要通过首先在终端中导入importlib,然后使用importlib.reload(*modulename*)
来手动重新加载我的脚本中的模块。当我通过IPython终端运行它们时,我希望我的IPython终端自动重新加载脚本中的模块。以前的版本中使用了魔术命令%autoreload
来提供这个功能,但对我来说似乎不起作用。\n我查阅了IPython文档(链接1),尝试使用%load_ext autoreload
命令(链接2)和import ipy_autoreload
后跟%autoreload 2
命令(链接3)。我在stackoverflow上找到了4个以上的答案,告诉我在链接2或3中做这些事情;但对我来说都没起作用。如果有人知道如何恢复自动重新加载功能,那会让我更加开心。\n链接1:https://ipython.org/ipython-doc/3/config/extensions/autoreload.html\n链接2:https://stackoverflow.com/a/18216967/5762140\n链接3:https://stackoverflow.com/a/4765191/5762140\n我正在使用64位的Windows 7安装。我有IPython 4.0.1,这是我安装的Anaconda3(3.18.9 64位)附带的。如果需要,我可以提供有关我在尝试使用%load_ext autoreload
时从IPython终端获得的错误回溯的截图。
如何在IPython中自动重新加载模块?
有人遇到了在IPython中自动重新加载模块的问题,并提供了解决方法。具体步骤如下:
步骤1:确保已安装最新版本的IPython
$ ipython --version
步骤2:查找配置文件的位置
$ ipython profile create
步骤3:使用适合配置文件位置的编辑器打开配置文件。例如,使用atom编辑器:
$ atom ~/.ipython/profile_default/ipython_config.py
步骤4:在配置文件中找到以下行:
c.InteractiveShellApp.extensions = []
将其修改为:
c.InteractiveShellApp.extensions = ['autoreload']
然后取消注释该行。
接着找到:
c.InteractiveShellApp.exec_lines = []
将其修改为:
c.InteractiveShellApp.exec_lines = ['%autoreload 2']
然后取消注释该行。
完成!以上解决方法对我有效。还有人问如何设置IPython的默认启动目录,但是这是另一个话题,建议先在StackOverflow上搜索已有的答案,如果找不到再提问。
以上就是解决自动重新加载模块的问题的方法。