多台服务器的jupyter笔记本共享配置

时间:2016-06-07 00:57:04

标签: css jupyter-notebook

我在一个拥有多台服务器的环境中工作,并希望在服务器之间共享我的.jupyter配置,这样我就不必手动保持它们的同步。通过将JUPYTER_CONFIG_DIR环境变量设置为共享位置,可以轻松实现此目的。

但是,我想为每个服务器使用不同的CSS样式表,这样很明显我正在处理哪一个。例如,在第一台服务器上,我想要一个红色背景:

#notebook { background: red; }

而在第二天,我想有一个蓝色背景。

#notebook { background: blue; }

我想我可以通过在extra_static_paths附加不同的路径来实现这一点,具体取决于jupyter服务器的主机名。但是,笔记本的HTML会查找custom/custom.cssextra_static_paths指示的文件会从static/...提供,这样我就无法以这种方式替换自定义css文件。

有更好的方法吗?

1 个答案:

答案 0 :(得分:7)

我认为可以通过配置文件实现,但文档中的文档很少。

编辑:我错了。根据{{​​3}},自jupyter 4.x以来配置文件已经消失,因此除非您想通过bash脚本管理共享目录和文件,否则以下是唯一的解决方案。

虽然从技术上讲是一种解决方法,但这可能更合适:使用this question。我用它快速 1 在笔记本的默认白色主题和较暗的白色主题之间进行交换。

时尚如何工作

基本上,它会在主题顶部的规则匹配的页面中注入自定义CSS。您可以编写自己的CSS主题或从他们的网站下载。对于一个jupyter示例,我正在使用Stylish browser extension。它符合以下规则:

url-prefix("http://localhost:8888/"), 
url-prefix("http://127.0.0.1:8888/"),
url-prefix("http://localhost:8889/"),
url-prefix("http://localhost:8890/")

您可以做的是复制此主题,并使每个主题在单个端口上匹配,该端口对应于您希望应用它的服务器。然后,您可以使用--port=xxxx选项启动服务器。

1 - 您可以通过在jupyter的配置目录中的某个位置放置自定义CSS文件来更改笔记本的主题,但如果您想要动态更改它,则必须更换那个文件每一次。随着时尚,这一变化只需点击一下即可。