我试图在我的Jupyter Lab Console中添加CSS规则,以自定义Jupyter Lab的外观。只是 pandas数据框,我已经成功地在控制台中交互式地完成了这个工作。 我想要的是,当Jupyter Lab控制台启动时,将我的CSS规则应用到它,这样我就不必交互式地做这件事了。 我已经成功地将这些自定义样式添加到pandas数据框本身(df.style.apply()),但我不想把它添加到我交互式创建的每个数据框中。
Pandas数据框被归类为.dataframe。 我创建了一个名为 "00-first.py "的Jupyter Lab启动文件,并把它放在.ipythonprofile_defaultstartup目录下。 文件的内容是。
from IPython.display import HTML, display
import pandas as pd
import numpy as np
style = '''<style>
.dataframe td {font-family:"Liberation Mono";}
.dataframe th, .dataframe tr, .dataframe td {padding-top:0.1em; padding-bottom:0.1em;}
</style>'''
display(HTML(style))
display(HTML("Environment personalization complete."))
当我启动控制台时,我可以确认00 -first.py文件已经被执行,因为dir()显示了 "style "变量,pd和np。 消息字符串没有打印出来,样式也没有出现在网页的CSS中。
如果我创建一个数据框,就会用默认的css字体显示。 为了让样式发生,我手动运行了以下命令 display(HTML(style)) 然后所有的数据框现在都有了新的css样式。
我正在尝试删除必须输入 display(HTML(style)) 并希望启动脚本 "00-frist.py "来处理这个问题,我在Linux Manjaro Linux 5.6.7-1-MANJARO x86_64 GNULinux上使用Jupyter Lab 1.1.4。
我在Linux Manjaro Linux 5.6.7-1-MANJARO x86_64 GNULinux上使用Jupyter Lab 1.1.4,使用Firefox 75.0。
我怎么做,或者有什么更好的方法吗?
之前:没有样式
之后:带造型
我尝试了多个咒语 NotebookApp.extra_static_pathsList
正如 @jayveesea 所建议的那样,但这个方法无法奏效。 我找到的解决办法很简单,就是编辑基础CSS文件,在那里添加我的CSS选择器。
jupyter lab path
从命令提示符中输入。 这将是类似于 家里的红毛丹康达3. /* pandas dataframe customizations */
.dataframe td {font-family:"Liberation Mono";}
.dataframe th, .dataframe tr, .dataframe td {padding-top:0.1em; padding-bottom:0.1em;}
重新启动Jupyter控制台,你应该会看到所有的pandas数据框都按照这些规则格式化了。
这种方法的一个缺点是,你必须将你的CSS规则添加到任何你想要支持这些规则的扩展中,但这对我来说是有效的,因为我不切换扩展。
请看一下 此处 用于使用jupyter的配置文件。特别是 NotebookApp.extra_static_paths
選項:NotebookApp.extra_static_pathsList
NotebookApp.extra_static_pathsList 默认。[]
额外的路径来搜索服务静态文件。
这样就可以在笔记本服务器的机器上添加javascriptcss,或者覆盖IPython中的个别文件。
UPDATE:看来上面的方式 伤筋动骨 并可能被放弃。 另一种解决方案是使用以下路径来存储自定义CSS。.jupyter\custom
不需要对配置文件进行任何更新。
所以在这种情况下 .jupyter\custom\custom.css
将包含:
.dataframe td {font-family:"Liberation Mono";}
.dataframe th, .dataframe tr, .dataframe td {padding-top:0.1em; padding-bottom:0.1em;}