如何在Jupyer Notebook中添加/编辑代码段?

时间:2019-03-20 12:49:49

标签: jupyter-notebook code-snippets jupyter-contrib-nbextensions

我试图按照扩展程序的README文件中给出的说明进行操作。 我正在使用Windows并打开笔记本,我使用存储在目录

中的jupyter-notebook.exe
  

.. \ Anaconda3 \脚本

在Anaconda3目录中,我转到子目录

  

Anaconda3 \ Lib \ site-packages \ jupyter_contrib_nbextensions \ nbextensions \ snippets

从那里更改文件“ snippets.json”的代码

{
"snippets" : [
    {
        "name" : "example",
        "code" : [
            "# This is an example snippet!",
            "# To create your own, add a new snippet block to the",
            "# snippets.json file in your jupyter data directory under nbextensions:",
            "# $(jupyter --data-dir)/nbextensions/snippets/snippets.json",
            "import this"
        ]
    }
]
}

{
    "snippets" : [
        {
            "name" : "example",
            "code" : [
                "# This is a test if something changed",
            ]
    ]
}

然后,我重新启动笔记本并插入示例代码段。但是我的更改没有被采用,我仍然可以删除原始示例。

我做错了什么?

3 个答案:

答案 0 :(得分:2)

如果您正在使用Anaconda,则不必搜索目录。 “ Nbextensions”选项卡中嵌入了一个模板。

  • 选中“摘要菜单”框
  • 向下滚动到“参数”,然后选中“包括自定义菜单...下面的JSON字符串”框
  • 插入所需的任何示例代码段
  • 刷新笔记本

查看我的一个片段:

{
    "name" : "My favorites",
    "sub-menu" : [
        {
            "name" : "import packages",
            "snippet" : ["# import various packages"
                   "import os"
                   "import scipy"
                   "import pandas as pd"
                   "import numpy as np"
                   "import seaborn as sns"
                   "import matplotlib.pyplot as plt"

                   "%matplotlib inline"

                   "# plot settings"
                   "from pandas.plotting import register_matplotlib_converters"
                   "register_matplotlib_converters()"
                   "plt.rcParams['agg.path.chunksize'] = 10000"]
        },
        {
            "name" : "TeX can be written in menu labels $\\alpha_W e\\int_0 \\mu \\epsilon$",
            "snippet" : ["another_new_command(2.78)"]
        }
    ]
}

此外,请谨慎使用引号和逗号。有关其他帮助,请参见here.

答案 1 :(得分:1)

在Windows(os)中,jupyter笔记本扩展名隐藏在programData文件夹中(C:\ ProgramData \ jupyter \ nbextensions \ snippets)

要更改代码段,只需相应地编辑snippets.JSON文件: enter image description here

答案 2 :(得分:0)

我认为您在错误的目录中搜索。

  • 在Windows中,在anaconda提示符下运行命令jupyter --paths 这将返回config: data:runtime:
  • 的位置
  • snippets.json位置搜索文件data:
  • 在我的情况下是C:\ProgramData\jupyter\nbextensions\snippets

更改内容并将其保存在snippets.json中,然后重新启动jupyter笔记本 它会工作!