Debugging and saving PNG using bokeh backend

Kept getting the traceback when I knew I had chromedriver/geckodriver installed because I was using selenium.

File ~/miniforge3/envs/wx/lib/python3.10/site-packages/bokeh/io/webdriver.py:199, in _WebdriverState._create(self, kind, scale_factor)
    196         self.kind = "firefox"
    197         return driver
--> 199     raise RuntimeError("Neither firefox and geckodriver nor a variant of chromium browser and " \
    200                        "chromedriver are available on system PATH. You can install the former " \
    201                        "with 'conda install -c conda-forge firefox geckodriver'.")
    202 elif driver_kind == "chromium":
    203     return create_chromium_webdriver(scale_factor=scale_factor)

RuntimeError: Neither firefox and geckodriver nor a variant of chromium browser and chromedriver are available on system PATH. You can install the former with 'conda install -c conda-forge firefox geckodriver'.

It was driving me nuts, but I finally printed the exc

And realized this was suppressed:
chromedriver or its variant is not installed or not present on PATH; use BOKEH_CHROMEDRIVER_PATH to specify a customized chromedriver's location

After that, this fixed everything.

import os
from webdriver_manager.chrome import ChromeDriverManager
driver_path = ChromeDriverManager().install()
os.environ["BOKEH_CHROMEDRIVER_PATH"] = driver_path

...

hv.save(obj, "filename.png")

Please open an issue in Bokeh.

1 Like

Was planning to, just hadn’t had the time to yet since Bokeh issue submission is slightly more daunting than HoloViz haha