【问题标题】:notify when execution/command is completed执行/命令完成时通知
【发布时间】:2014-03-27 02:19:36
【问题描述】:

如何让 IPython 在执行命令时通知我?我可以让它使用铃铛/警报,还是通过弹出窗口?我在 OS X 10.8.5 上的 iTerm 上运行 Anaconda。

【问题讨论】:

  • 您希望在每个命令中自动执行此操作,还是仅在您在命令末尾键入一些 notify_me() 时执行此操作?
  • 您应该更改投票最多的已接受答案,因为它对大多数人更有用。干杯

标签: ipython anaconda


【解决方案1】:

终于有人created a nice library for it了。

你只需安装它:

pip install jupyternotify

将其导入您的笔记本:

import jupyternotify
ip = get_ipython()
ip.register_magics(jupyternotify.JupyterNotifyMagics)

并使用魔法命令:

%%notify
import time
time.sleep(5)

并收到一个很好的通知:

Git-page 还显示了如何自动加载它。

【讨论】:

  • 有什么方法可以自动执行此操作,即无需每次都显式调用%%notify
  • @RodrikTheReader,同样的扩展现在支持%autonotify -a 30,通知每个单元格,运行时间超过 30 秒
  • 我收到“Javascript 错误:$ 未定义”
  • 这似乎不适用于 jupyterlab(破坏一切的新版本 jupyter)。然而,pypi.org/project/jupyterlab-notifications 看起来很有效。但我认为它需要你重新启动我不想这样做的 jupyter(因为我可能并不奇怪,在我安装它时等待命令完成)。
【解决方案2】:

您使用的是 IPython Notebook 还是终端中的 IPython?如果您使用的是 IPython Notebook,我建议使用 https://github.com/sjpfenninger/ipython-extensions 提供的通知扩展程序(写下可用的 here

【讨论】:

  • 谢谢,但我想给终端一些东西。
【解决方案3】:

使用最新版本的 iTerm,您可以使用 shell integration 的下一个标记提醒功能。

【讨论】:

    【解决方案4】:

    作为替代方案,我编写了一个简单的模块/装饰器函数来通知函数已完成(仅适用于 MAC)

    例子:

    from ipynotifyer import notifyOnComplete as nf
    
    
    @nf()
    def divide_by_five():
        return 5/5
    
    @nf(timer=True)
    def divide_by_ten():
        return 5/10
    

    https://github.com/Casyfill/ipython_notifier

    【讨论】:

      【解决方案5】:

      当在不可见选项卡中有输出时,最新版本的 iTerm 会向通知中心发送通知。它们默认折叠到通知中心,但您可以在系统偏好设置的通知偏好设置中将它们更改为留在屏幕上。

      【讨论】:

      • 这对我来说从来没有用过。你需要购买和安装咆哮吗?
      • @Psquid 查看我的其他答案。
      猜你喜欢
      • 2013-12-24
      • 2018-01-09
      • 2011-09-20
      • 1970-01-01
      • 2013-09-01
      • 2020-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多