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")