iPython笔记本的默认模板(使用Jupyter)

Bil*_*ham 34 ipython ipython-notebook jupyter

在每个iPython(Jupyter)笔记本的第一个单元格中,我几乎总是键入:

%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
Run Code Online (Sandbox Code Playgroud)

是否有办法使这个单元格出现在我默认创建的每个新笔记本的顶部?

例如,我可以在.ipynb某处保存模板文件,在创建新笔记本时由iPython复制吗?

(我发现了这个问题,但它似乎更多的是关于css而不是单元格中的默认内容.)

Rie*_*iet 9

我知道它可能不是你想要的(这个例子不适合在需要在多个环境中运行的笔记本电脑上工作,例如共享),但我将以下内容ipython_config.py放在我.ipython文件夹中调用的文件中.

c.InteractiveShellApp.exec_lines = ['%matplotlib inline',
    'import numpy as np',
    'import scipy.constants as scc',
    'import scipy.integrate as sci',
    'from mpl_toolkits.mplot3d import Axes3D',
    'import scipy.optimize as sco'
]
Run Code Online (Sandbox Code Playgroud)

这在任何交互式控制台中运行之前运行,包括jupyter笔记本.如果你想要明确的锅炉电镀,我认为你会失望(除非你想为我们建立功能☺)

  • 在配置中设置隐式导入会破坏笔记本的可移植性.为了清晰起见,拥有一个带有显式导入的模板会好得多,因为在Python的Zen中:"明确比隐含更好". (7认同)
  • 这是一个黑客但有效.我保留一个startup.py(几个)文件,这只是Jupyter调用%load startup.py的一个例子.没有什么比快速类型更好但它的工作原理...... (3认同)
  • 我一直在重新审视这个问题,看看是否有人已经弄清楚了.我认为它可以通过jupyter在保存笔记本时使用的pre_save_hook的自定义来完成,但我仍然没有想到它. (2认同)

oop*_*psi 4

使用jupyterlab有一个非常酷的解决方案: jupyterlab_templates

安装大约需要5分钟,您可以安装多个

模板如你所愿。

苹果电脑用户

假设您在安装过程中安装了 conda,则需要安装 Node js 引擎:

  • conda install -c conda-forge nodejs

如果没有,请创建一个 jupter_noteook_config.py :

  • jupyter notebook --generate-config