在笔记本中加载IPython(--profile = SOMETHING)内核

时间:2019-02-28 08:58:30

标签: python jupyter-notebook

前段时间我问了以下问题:Preloading the Jupyter Notebook with specific classes/functions

当我在终端中使用ipython --profile=DOS启动解释器时,这非常有用。我具有解释器中所有可用的预定义功能。

我的问题是,如何将其加载到Jupyter笔记本中?到目前为止,我只能加载python2或python 3。

说jupyter笔记本的配置看起来像

{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "test\n"
     ]
    }
   ],
   "source": [
    "print(\"test\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}

我可以使用使用ipython3 --profile=DOS的配置来加载预定义的功能吗?

1 个答案:

答案 0 :(得分:2)

您必须在kernelspecs之一下创建自定义的JUPYTER_PATH文件夹,如documentation所示。

  

如果您想更改IPython内核的配置文件,则无法再在服务器命令行上执行此操作。必须通过修改kernelspec来更改内核参数。您可以执行此操作而无需重新启动服务器。每次启动新内核时,Kernelspec更改都会生效。

例如,将--profile=DOS选项添加到.../kernels/mycustomDOSpython/kernel.json下的自定义内核规范中,其中“ mycustomDOSpython”是新内核的名称,它将自动出现在jupyter笔记本的“新建”下拉按钮上服务器。

{
 "argv": ["python3", "-m", "ipykernel",
          "--profile=DOS",
          "-f", "{connection_file}"],
 "display_name": "Python 3 with profile DOS",
 "language": "python"
}

然后,在您的.ipynb笔记本文件中,相应地更改“ kernelspec”的“名称”:

"kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "mycustomDOSpython"
  },