如何从Jupyter 4.x获取IPython配置文件行为?

时间:2015-08-31 22:24:13

标签: python ipython ipython-notebook jupyter

有官方(?)建议运行IPython Notebook服务器,并通过

创建配置文件
$ ipython profile create nbserver

根据http://ipython.org/ipython-doc/1/interactive/public_server.html的建议。当通过ipython notebookipython notebook --profile=nbserver启动IPython Notebook时,这会产生非常不同且非常有用的行为。

使用Jupyter 4.0,有一个更改,不再有配置文件。我找到了用户minrk说的对话https://gitter.im/ipython/ipython/archives/2015/05/29

  

.ipython目录中有几个内容:

     

多个配置目录(称为配置文件)

     

一个'data'目录,包含kernelspecs,nbextensions

等内容      

运行时信息分散在各处,但主要是在个人资料中

     

Jupyter遵循更多适合平台的惯例:

     

JUPYTER_CONFIG_DIR的一个配置目录,默认:.jupyter

     

JUPYTER_DATA_DIR的一个数据目录,默认值:特定于平台的

     

JUPYTER_RUNTIME_DIR中的一个运行时目录,默认值:特定于平台的

这是一个相当神秘的评论:

  

如果要使用不同的配置,请使用JUPYTER_CONFIG_DIR =

指定不同的配置目录

获得不同行为的最佳方式是什么(例如,在作为服务器运行与正常使用之间)?

它是否涉及运行类似:

$ export JUPYTER_CONFIG_DIR=~/.jupyter-nbserver
$ jupyter notebook

每当需要运行服务器'配置文件'时?和

$ export JUPYTER_CONFIG_DIR=~/.jupyter
$ jupyter notebook

每当“正常”配置文件需要运行时?因为那看起来很可怕。在Jupyter 4.0中最好的方法是什么?

1 个答案:

答案 0 :(得分:8)

使用此博客文章http://www.svds.com/jupyter-notebook-best-practices-for-data-science/中的一些代码并进行更新。最简单的解决方案似乎是创建一个别名,例如:

alias jupyter-nbserver='JUPYTER_CONFIG_DIR=~/.jupyter-nbserver jupyter notebook'

现在您可以通过简单命令jupyter-nbserver运行具有不同配置的jupyter笔记本。

更强大的解决方案可能涉及创建一个bash函数来更改环境变量,检查是否有配置文件,如果没有创建一个,然后执行,但这可能是过度杀伤。我在这个相关问题https://stackoverflow.com/a/32516200/246856上给出的答案用于为新的'个人资料创建初始配置文件。