首页 > 解决方案 > 在笔记本中加载 IPython (--profile=SOMETHING) 内核

问题描述

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

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

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

假设一个 jupyter notebook 配置看起来像

{
 "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,从而加载预定义的功能吗?

标签: pythonjupyter-notebook

解决方案


如文档中所示,必须在其中一个下创建自定义kernelspecs文件夹。JUPYTER_PATH

如果您确实想更改 IPython 内核的配置文件,则不能再在服务器命令行中执行此操作。必须通过修改 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"
  },

推荐阅读