为Jupyter Notebook预加载特定的类/功能

时间:2019-01-23 11:06:06

标签: python jupyter-notebook

我想预装一个笔记本中具有在其他文件中定义的特定类/功能的笔记本。更具体地说,我想使用python(类似于加载配置文件,其中包含所有相关的类/函数)进行此操作。目前,我正在使用python生成笔记本,并在服务器上自动启动它们。因为不同的“配置文件”需要这些笔记本,所以它们需要不同的类和功能,而无需专门导入它们。

生成jupyter笔记本时,我只需将jupyter笔记本“模板”复制到特定文件,然后让用户自动打开它。 我可以在其中设置某种配置文件吗?

"metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3",
   "profile": "lab_5" // <-- 
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.13"
  }
 },

其中“ lab_5”将预加载必要的类?

1 个答案:

答案 0 :(得分:1)

启动Jupyter笔记本电脑(或实验室)时,如果其中包含python脚本文件

location_of_ipython_profile/startup/

然后它们将在每次IPython启动时运行(用作标准ipython内核)。例如,在我的机器上,我有一个名为00-first.py的文件,其内容如下:

import numpy as np

如果还有其他脚本,例如50-middle.py99-last.py,它们也会连续运行。

当我使用ipython内核打开一个新的Jupyter笔记本时。我将根据这些脚本文件预先执行许多操作。对于第一个脚本00-first.py,它提供了符号np以供立即使用。因此,我可以运行print(np.pi)并获取3.141592...作为输出。

要获取location_of_ipython_profile,可以在Jupyter笔记本上运行魔术命令:

!ipython locate profile

就我而言,我得到C:\Users\swatc\.ipython\profile_default。要列出startup文件夹中的所有文件,我运行:

!dir C:\Users\swatc\.ipython\profile_default\startup\*.*

请记住,您的计算机上可能有多个python配置文件。以上所有内容均对默认配置文件有效。

希望这会有所帮助。