Jupyter与运行中的单元异步交互

时间:2018-10-11 02:33:31

标签: python asynchronous jupyter-notebook ipython

我可以在Python中使用asyncio将控制权释放到另一个Jupyter Cell吗?

例如,假设我有一个Jupyter单元格

x = 'foo'
for i in range(1_000_000):
    long_computation()
    print(x)

然后运行它。在运行时,我决​​定要更改x='bar',但是我不想停止循环。理想情况下,我想转到下一个单元格,键入x = 'bar'并运行它,并让循环立即获取此更改并开始打印出“ bar”而不会丢失它的位置。显然,现在发生的事情是,仅在循环结束后将此单元格添加到要执行的队列中。

我是否可以添加某种await语句来实现这一点?

1 个答案:

答案 0 :(得分:0)

为澄清您的问题:

  1. 如果您要运行两个单元格(循环单元格并更改x单元格),请一一运行。这是可能的,您只需要运行第二个单元格,它将在第一个单元格之后立即执行。
  2. 如果您要在第一个单元格运行时运行第二个单元格。那是不可能的。