【发布时间】:2014-03-27 02:19:36
【问题描述】:
如何让 IPython 在执行命令时通知我?我可以让它使用铃铛/警报,还是通过弹出窗口?我在 OS X 10.8.5 上的 iTerm 上运行 Anaconda。
【问题讨论】:
-
您希望在每个命令中自动执行此操作,还是仅在您在命令末尾键入一些
notify_me()时执行此操作? -
您应该更改投票最多的已接受答案,因为它对大多数人更有用。干杯
如何让 IPython 在执行命令时通知我?我可以让它使用铃铛/警报,还是通过弹出窗口?我在 OS X 10.8.5 上的 iTerm 上运行 Anaconda。
【问题讨论】:
notify_me() 时执行此操作?
终于有人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?
%autonotify -a 30,通知每个单元格,运行时间超过 30 秒
您使用的是 IPython Notebook 还是终端中的 IPython?如果您使用的是 IPython Notebook,我建议使用 https://github.com/sjpfenninger/ipython-extensions 提供的通知扩展程序(写下可用的 here)
【讨论】:
使用最新版本的 iTerm,您可以使用 shell integration 的下一个标记提醒功能。
【讨论】:
作为替代方案,我编写了一个简单的模块/装饰器函数来通知函数已完成(仅适用于 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
【讨论】:
当在不可见选项卡中有输出时,最新版本的 iTerm 会向通知中心发送通知。它们默认折叠到通知中心,但您可以在系统偏好设置的通知偏好设置中将它们更改为留在屏幕上。
【讨论】: