【问题标题】:How to automatically reload modules in IPython?如何在 IPython 中自动重新加载模块?
【发布时间】:2016-05-04 10:21:04
【问题描述】:

在开始之前,我想说我不是程序员;我是一个极客和工程师。因此,我喜欢编码并在学术上使用它。 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

我使用的是 64 位安装的 Windows 7。我安装了 Anaconda3(3.18.9 64 位)附带的 IPython 4.0.1。当我尝试使用%load_ext autoreload 时,可以根据要求提供有关我从 IPython 终端回溯的错误的屏幕截图。

【问题讨论】:

    标签: module ipython


    【解决方案1】:

    您上面的所有链接都使用 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']
    

    然后取消注释该行

    完成。

    【讨论】:

    • 谢谢,它对我来说很好:)。你知道如何为 ipython 设置默认起始目录吗?我尝试使用 c.InteractiveShell.ipython_dir 但它似乎不是相关选项...
    • @A.Joly 我很乐意尝试回答您的问题,但作为 StackOverflow 的最佳实践,由于您的问题涉及不同的主题,请先搜索已经给您的答案问题,如果找不到,请发布新问题。
    • 这就是我所做的;)我找到了答案,如果有人感兴趣,这里是链接:stackoverflow.com/questions/45939209/…
    • @A.Joly 杰出。谢谢!
    • 应该是c.InteractiveShellApp.exec_lines = ['%autoreload 2'],因为您已经通过将扩展添加到c.InteractiveShellApp.extensions来加载它
    猜你喜欢
    • 2010-12-26
    • 2011-07-18
    • 1970-01-01
    • 1970-01-01
    • 2016-05-20
    • 1970-01-01
    • 2017-06-19
    • 2018-12-17
    • 2013-05-23
    相关资源
    最近更新 更多