django-extensions shell_plus --kernel指定连接文件

时间:2015-06-27 11:09:42

标签: python django ipython jupyter django-extensions

我想使用jupyter-hub启动并与django ipython内核交互。

Django扩展允许我通过manage.py shell_plus --kernel命令行创建一个ipython内核,但这不允许我指定连接文件,这是jupyter-hub内核规范所必需的。

例如,我想像下面这样指定我自己的自定义内核类型:

{
"display_name": "Django",
"language": "python",
"codemirror_mode": {
    "version": 3,
    "name": "ipython"
},
"argv": [
    "/home/me/.virtualenvs/django/bin/python",
    "/home/me/django/manage.py",
    "shell_plus",
    "--kernel",
    "-f",
    "{connection_file}"
    ]
}

然而,看起来--kernel选项不允许我传递额外的kwags。

我已快速浏览了django-extensionsipython的来源,但看不到简单的解决方法。任何人都有任何想法。

我认为能够从Jupyter-hub连接到django shell会非常有用,而且功能似乎非常接近。

感谢。

1 个答案:

答案 0 :(得分:1)

对于任何有兴趣的人,我通过在django-extension中的shell_plus命令中添加--connection_file选项来修复此问题,然后将该文件名转发给内核。 然后,我可以为Jupyter-hub定义我的django内核,如下所示。

{
"display_name": "Django",
"language": "python",
"codemirror_mode": {
    "version": 3,
    "name": "ipython"
},
"argv": [
    "/home/me/.virtualenvs/django/bin/python",
    "/home/me/django/manage.py",
    "shell_plus",
    "--kernel",
    "--connection_file",
    "{connection_file}"
    ]
}

请在github上查看我的分支以了解更改。