很抱歉这个绝对的noob问题,以前在使用Jupyter笔记本时,我可以通过在另一个单元格中定义变量并运行该单元格来更改当前运行单元格中变量的值。由于某些原因,这不再有效。我想重新获得这个函数,这样我就可以在数值积分循环还在运行的时候改变它的物理参数。在
import time
t = 0
while t<20:
t = t + 1
time.sleep(1)
print(t)
如果第一个单元正在运行,而我试图运行第二个单元,Jupyter会等待第一个单元完成,然后再执行第二个单元。我想在循环仍在运行时手动更改变量。在
我认为IPython内核中的代码执行一直是顺序的。通常只有一个线程来接收和处理执行请求。参见2016年的讨论,例如: https://github.com/jupyter/notebook/issues/1155
如果您确定这在过去一直有效,请尝试将}包降级到您当时使用的版本。在
notebook
和{有一些改进可以更改默认行为。例如这里描述的一个细胞魔术
%%async_run
: https://github.com/leriomaggio/async-ipython-magic您可以在笔记本电脑中对IPython和IPyKernel的最新版本使用async/await,但这需要更改代码: https://blog.jupyter.org/ipython-7-0-async-repl-a35ce050f7f7?gi=de4b6eb312ahttps://ipython.readthedocs.io/en/stable/interactive/autoawait.html
还有IPyParallel,但这似乎比普通笔记本需要更多的设置: https://ipyparallel.readthedocs.io/en/latest/intro.html
相关问题 更多 >
编程相关推荐