jupyter 单元格自动重新运行插件

jupyter notebook 有没有可以实现更改变量,单元格自动重新运行功能的插件?

比如我在第n个单元格定义的变量x更新值后,后面使用到这个变量x的单元格都自动重新运行。

我记得见到过介绍类似功能的文章,但找不到了。

回答不易,求求您采纳点赞哦 感激不尽

是的,Jupyter Notebook有一个名为AutoReexec的插件,它可以帮助简化该过程。AutoReexec可以跟踪变量,如果检测到变量被更改,它会自动重新运行单元格,以便使用新的值。你只需要安装它,然后在想要重新运行的每个单元格中添加 #auto reexec 这行注释,就可以实现你的需求。

可以使用这个插件:jupyter-autotime
安装后在命令模式下,按 "ESC" 键
输入以下命令:%load_ext autotime

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 文章:jupyter的安装与使用以及运行卡顿的解决办法 中也许有你想要的答案,请看下吧
  • 除此之外, 这篇博客: Jupyter lab(Jupyter notebook)中单元格图片的存储方式及导出(还原)方法(关键点:ipynb文件,图片base64编码)中的 代码单元格输出图片 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    在代码单元格中输入以下内容并运行。
    在这里插入图片描述
    以文本形式打开.ipynb文件。

     "cells": [
      {
       "cell_type": "code",
       "execution_count": 1,
       "metadata": {},
       "outputs": [
        {
         "data": {
          "text/plain": [
           "[<matplotlib.lines.Line2D at 0x1957058a2e8>]"
          ]
         },
         "execution_count": 1,
         "metadata": {},
         "output_type": "execute_result"
        },
        {
         "data": {
          "image/png": "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\n",
          "text/plain": [
           "<Figure size 432x288 with 1 Axes>"
          ]
         },
         "metadata": {
          "needs_background": "light"
         },
         "output_type": "display_data"
        }
       ],
       "source": [
        "import matplotlib.pyplot as plt\n",
        "\n",
        "plt.plot([1, 1])"
       ]
      }
     ],
    

    将上述Base64编码还原为图片,如下所示。

    在这里插入图片描述


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^