在Jupyter中,如何确定您所处的浏览器?

时间:2019-12-23 18:26:25

标签: jupyter-notebook jupyter altair

在Jupyter笔记本中,我需要知道我是在Chrome还是Firefox中运行,因为在Altair中保存图形的代码因浏览器(https://altair-viz.github.io/user_guide/saving_charts.html)而异。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

Jupyter内核(即Python后端)没有有关与其连接的前端的直接信息。但是您可以使用系统工具来尝试推断正在运行的浏览器进程。例如,使用psutil模块可以列出正在运行的进程。我目前正在打开Chrome和Safari浏览器,并得到以下结果:

>>> import psutil
>>> 'Google Chrome' in (p.name() for p in psutil.process_iter())            
True
>>> 'Firefox' in (p.name() for p in psutil.process_iter())                  
False
>>> 'Safari' in (p.name() for p in psutil.process_iter())                   
True

一些警告:

  • 进程名称可能因操作系统而异:我将检查在各个平台上保持一致的工作是否重要。
  • 这不会告诉您用户是否正在使用该特定的前端来查看Jupyter笔记本,但是不会告诉您该名称的进程是否正在运行。
  • 要保存高度表,请注意,仅浏览器是不够的:您还需要用户为Chrome安装chromedriver或为Firefox安装geckodriver。最好是检测是否安装了这些驱动程序,而不是检测当前正在运行的浏览器。有关更多信息,请参见Saving Charts