我在一个拥有多台服务器的环境中工作,并希望在服务器之间共享我的.jupyter
配置,这样我就不必手动保持它们的同步。通过将JUPYTER_CONFIG_DIR
环境变量设置为共享位置,可以轻松实现此目的。
但是,我想为每个服务器使用不同的CSS样式表,这样很明显我正在处理哪一个。例如,在第一台服务器上,我想要一个红色背景:
#notebook { background: red; }
而在第二天,我想有一个蓝色背景。
#notebook { background: blue; }
我想我可以通过在extra_static_paths
附加不同的路径来实现这一点,具体取决于jupyter服务器的主机名。但是,笔记本的HTML会查找custom/custom.css
,extra_static_paths
指示的文件会从static/...
提供,这样我就无法以这种方式替换自定义css文件。
有更好的方法吗?
答案 0 :(得分:7)
我认为可以通过配置文件实现,但文档中的文档很少。
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文件来更改笔记本的主题,但如果您想要动态更改它,则必须更换那个文件每一次。随着时尚,这一变化只需点击一下即可。