指定 ipython 配置文件 qtconsole
Posted
技术标签:
【中文标题】指定 ipython 配置文件 qtconsole【英文标题】:Specify ipython profile qtconsole 【发布时间】:2018-03-04 05:33:31 【问题描述】:关于如何从 qtconsole 指定特定 ipython 配置的任何猜测?
没有 qtconsole:
ipython --profile=my_profile_name
其中 my_profile_name 是全局 ipython 目录下的配置文件名称,用于 ipython 内核选项。这使您可以指定特定于 ipython 的内容,例如要在加载时导入的模块。
使用 qtconsole:
jupyter console --config=/./jupyter_qtconsole_config.py
您可以在其中指定特定的配置文件来设置一般的非 ipython 特定的 qtconsole 设置,例如字体大小。
如何从 qtconsole 指定设置 ipython 配置文件(理想情况下将其指向一个文件,但可能仅限于指定全局配置文件名称)?即添加 ---profile 标签到 jupyter qtconsole?我是这个链接:https://groups.google.com/forum/#!topic/jupyter/kzEws9ZeCFEMatthias 提到了指定内核,但这似乎有点矫枉过正。
您可以在名为“ipython_kernel_config.py”的文件中指定配置文件;也许解决方案在于使用 --config=jupyter_qtconsole_config.py 启动 qtconsole,并在此文件中指向指向配置文件名称的自定义 ipython_kernel_config.py;不确定如何指向内核配置文件,并且在 jupyter 配置文档中没有明显的方法。
【问题讨论】:
【参考方案1】:您需要创建一个自定义的kernelspec
并为这个特定的内核启动 qtconsole。
通常“内核”被视为一种语言;这是对内核的极端限制性观点。在您的情况下,您想要做的是拥有多个 IPython 内核,每个内核都使用不同的配置文件启动 IPython。 Here 是对内核规范的更正式定义;但它大致描述了如何启动一个进程。
通过使用jupyter kernelspec list
,我可以看到/usr/local/share/jupyter/kernels/python3
中有一个Python 内核规范;让我们看看它,尤其是kernel.json
文件:
"argv": [
"$HOME/anaconda/bin/python",
"-m",
"ipykernel_launcher",
"-f",
"connection_file"
],
"display_name": "Python 3",
"language": "python"
现在您只需复制所有这些,并将"--profile=my_profile_name"
添加到"argv"
列表中。不要忘记给文件夹起一个不同的名称,并将"display_name": "Python 3"
更改为"display_name": "Python 3 (my_profile)"
;一旦可用。只需使用此内核启动 qtconsole、笔记本或其他任何东西,您就应该获得新的配置文件。
您当然可以使用诸如a2km 之类的实用程序从命令行以编程方式执行此操作。
【讨论】:
谢谢!然后我只需要在 jupyter/kernels 下创建一个适当命名的新文件夹,将您描述的文件放入其中,然后使用“jupyter qtconsole --kernel myfoldername”启动 另一种解决方案:从包含 ipython_config.py 文件的位置运行 qtconsole;这将覆盖其他配置文件。以上是关于指定 ipython 配置文件 qtconsole的主要内容,如果未能解决你的问题,请参考以下文章
运行外部文件时在 ipython qtconsole 中进行 LaTeX 打印
在 jupyter qtconsole 中自动运行 %matplotlib inline