python-3.x - 如何在 JupyterLab 中安全地停止无限循环?
问题描述
我们正在使用 jupyterLab 进行一些长时间运行的操作(在我们的案例中进行物理模拟)。用户应该能够在不杀死内核的情况下安全地停止这些操作。
有没有干净的方法来做到这一点?
甚至可能有最佳实践吗?
我的单元格看起来像这样:
environment = gym.make()
running = True
while running:
environment.step()
running = ???
serialize(environment)
笔记
- 这不是How to stop the running cell if interupt kernel doesn't work[...]的副本,因为我正在寻找一种保存方法来停止而不中断控制流。
- 这不是如何在 Python 中安全地停止无限循环?,因为我正在寻找一种适合 JupyterNotebooks 和 JupyterLab 的方式。
解决方案
根据https://stackoverflow.com/a/19040553/,IPython 通过发送 SIGINT 来中断内核。不应该像如何在 Python 中安全地停止无限循环中所述以编程方式捕获和处理信号吗?.
编辑:这听起来很有帮助:ipython notebook 中 while 循环的优雅中断
推荐阅读
- python - 如何防止用户名包含@/./+/-/_.?
- angular - angular 5 为 i18n 动态更改语言环境
- android - 当我将旧项目更新为新项目时,gradle 启动失败
- ios - 在 iPad 和 iPhone 之间连接蓝牙
- c# - 如何在没有 Moq 的情况下在 C# 中实例化 FormFile 的实例?
- pyspark - Spark Dataframe 在 count() 上返回不一致的值
- tensorflow - Loss、accuracy、validation loss、Validation accuracy 有什么区别?
- qt - 通过 QSoftFilterProxyModel 的项目数
- python - Python kivy md 导航栏位置?
- javascript - 无法为未定义的变量赋值