在开始之前,我想说我不是程序员;我是一个极客和一个工程师。因此,我喜欢编码并在学术上使用它。 Stackoverflow教会了我80%以上关于python的知识。
我的问题是我需要先手动重新加载我的脚本中的模块,首先将importlib导入到我的终端中,然后再使用importlib.reload(*modulename*)
重新加载它们。当我通过我的IPython终端运行它时,我希望我的IPython终端能够自动重新加载我的python脚本中的模块。这个功能在以前的版本中使用魔术命令%autoreload
提供,这对我来说似乎不起作用。
我查看了@ IPython文档(链接1),尝试使用%load_ext autoreload
命令(链接2)和import ipy_autoreload
后跟%autoreload 2
命令(链接3)。我在stackoverflow中发现了超过4个其他答案,告诉我在链接2或3中执行操作;它对我不起作用。如果有人知道如何恢复自动重载,它会让我的手指更快乐。
链接1:https://ipython.org/ipython-doc/3/config/extensions/autoreload.html
链接2:https://stackoverflow.com/a/18216967/5762140
链接3:https://stackoverflow.com/a/4765191/5762140
我正在使用Windows 7的64位安装。我有安装Anaconda3(3.18.9 64位)的IPython 4.0.1。当我尝试使用%load_ext autoreload
时,我可以根据要求提供有关我的IPython终端错误追溯的屏幕。
答案 0 :(得分:20)
上面的所有链接都使用ipython中的命令。您应该尝试编辑配置文件。打开终端并完成以下步骤。
步骤1:确保安装了最新的ipython版本
$ ipython --version
第2步:找出配置文件的位置
$ ipython profile create
步骤3:根据配置文件的位置使用编辑器打开配置文件。我用原子。例如:
$ 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']
然后取消注释该行
完成。