Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] ImportError: cannot import name 'HTMLBox' from 'bokeh.models.layouts'` #937

Open
mattquestions opened this issue Nov 10, 2024 · 3 comments
Labels
bug Something isn't working

Comments

@mattquestions
Copy link

mattquestions commented Nov 10, 2024

Describe the bug
While running the following command locally,

!autorag dashboard --trial_dir /content/project_dir/0

in AutoRAG evaluator - Tutorial - Step 1 (deploy).ipynb,

I'm getting

ImportError: cannot import name 'HTMLBox' from 'bokeh.models.layouts'

To Reproduce
Steps to reproduce the behavior:

  1. Run the specified step in colab notebook in a local envrionment with following dependencies

pip3 install blinker==1.8.2
pip3 install ipykernel==5.5.6 ipywidgets-bokeh==1.0.2
pip3 install AutoRAG==0.3.7
pip3 install datasets
pip3 install python-dotenv
pip3 install jupyter

Full Error log

[11/10/24 19:38:31] ERROR    [__init__.py:60] >> Unexpected exception                                                                                                                               __init__.py:60
                             ╭──────────────────────────────────────────────────────────────── Traceback (most recent call last) ─────────────────────────────────────────────────────────────────╮
                             │ /home/autorag/autorag-env/bin/autorag:5 in <module>                                                                             │
                             │                                                                                                                                                                    │
                             │   2 # -*- coding: utf-8 -*-                                                                                                                                        │
                             │   3 import re                                                                                                                                                      │
                             │   4 import sys                                                                                                                                                     │
                             │ ❱ 5 from autorag.cli import cli                                                                                                                                    │
                             │   6 if __name__ == '__main__':                                                                                                                                     │
                             │   7 │   sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])                                                                                           │
                             │   8 │   sys.exit(cli())                                                                                                                                            │
                             │                                                                                                                                                                    │
                             │ /home/autorag/autorag-env/lib/python3.11/site-packages/autorag/cli.py:12 in <module>                                            │
                             │                                                                                                                                                                    │
                             │     9 import click                                                                                                                                                 │
                             │    10 import nest_asyncio                                                                                                                                          │
                             │    11                                                                                                                                                              │
                             │ ❱  12 from autorag import dashboard                                                                                                                                │
                             │    13 from autorag.deploy import extract_best_config as original_extract_best_config                                                                               │
                             │    14 from autorag.deploy.api import ApiRunner                                                                                                                     │
                             │    15 from autorag.evaluator import Evaluator                                                                                                                      │
                             │                                                                                                                                                                    │
                             │ /home/autorag/autorag-env/lib/python3.11/site-packages/autorag/dashboard.py:15 in <module>                                      │
                             │                                                                                                                                                                    │
                             │    12                                                                                                                                                              │
                             │    13 from autorag.utils.util import dict_to_markdown, dict_to_markdown_table                                                                                      │
                             │    14                                                                                                                                                              │
                             │ ❱  15 pn.extension(                                                                                                                                                │
                             │    16 │   "terminal",                                                                                                                                              │
                             │    17 │   "tabulator",                                                                                                                                             │
                             │    18 │   "mathjax",                                                                                                                                               │
                             │                                                                                                                                                                    │
                             │ /home/autorag/autorag-env/lib/python3.11/site-packages/pyviz_comms/__init__.py:64 in __new__                                    │
                             │                                                                                                                                                                    │
                             │    61 │   │   │   extension._last_execution_count = exec_count                                                                                                     │
                             │    62 │   │   except Exception:                                                                                                                                    │
                             │    63 │   │   │   pass                                                                                                                                             │
                             │ ❱  64 │   │   return param.ParameterizedFunction.__new__(cls, *args, **kwargs)                                                                                     │
                             │    65 │                                                                                                                                                            │
                             │    66 │   @classmethod                                                                                                                                             │
                             │    67 │   def add_delete_action(cls, action):                                                                                                                      │
                             │                                                                                                                                                                    │
                             │ /home/autorag/autorag-env/lib/python3.11/site-packages/param/parameterized.py:4468 in __new__                                   │
                             │                                                                                                                                                                    │
                             │   4465 │   │   # Create and __call__() an instance of this class.                                                                                                  │
                             │   4466 │   │   inst = class_.instance()                                                                                                                            │
                             │   4467 │   │   inst.param._set_name(class_.__name__)                                                                                                               │
                             │ ❱ 4468 │   │   return inst.__call__(*args,**params)                                                                                                                │
                             │   4469 │                                                                                                                                                           │
                             │   4470 │   def __call__(self,*args,**kw):                                                                                                                          │
                             │   4471 │   │   raise NotImplementedError("Subclasses must implement __call__.")                                                                                    │
                             │                                                                                                                                                                    │
                             │ /home/autorag/autorag-env/lib/python3.11/site-packages/panel/config.py:742 in __call__                                          │
                             │                                                                                                                                                                    │
                             │   739 │   │   │   │   │   │   │   if qual and qual not in _default_resolver.known_models:                                                                          │
                             │   740 │   │   │   │   │   │   │   │   _default_resolver.add(model)                                                                                                 │
                             │   741 │   │   │   │   else:                                                                                                                                        │
                             │ ❱ 742 │   │   │   │   │   __import__(module)                                                                                                                       │
                             │   743 │   │   │   │   self._loaded_extensions.append(arg)                                                                                                          │
                             │   744 │   │   │   │                                                                                                                                                │
                             │   745 │   │   │   │   if state.curdoc:                                                                                                                             │
                             │                                                                                                                                                                    │
                             │ /home/autorag/autorag-env/lib/python3.11/site-packages/panel/io/ipywidget.py:22 in <module>                                     │
                             │                                                                                                                                                                    │
                             │    19 # Stop ipywidgets_bokeh from patching the kernel                                                                                                             │
                             │    20 ipykernel.kernelbase.Kernel._instance = ''                                                                                                                   │
                             │    21                                                                                                                                                              │
                             │ ❱  22 from ipywidgets_bokeh.kernel import (                                                                                                                        │
                             │    23 │   BokehKernel, SessionWebsocket, WebsocketStream,                                                                                                          │
                             │    24 )                                                                                                                                                            │
                             │    25 from ipywidgets_bokeh.widget import IPyWidget                                                                                                                │
                             │                                                                                                                                                                    │
                             │ /home/autorag/autorag-env/lib/python3.11/site-packages/ipywidgets_bokeh/__init__.py:1 in <module>                               │
                             │                                                                                                                                                                    │
                             │ ❱ 1 from .widget import IPyWidget                                                                                                                                  │
                             │   2                                                                                                                                                                │
                             │   3 __version__ = "1.0.2"                                                                                                                                          │
                             │   4                                                                                                                                                                │
                             │                                                                                                                                                                    │
                             │ /home/autorag/autorag-env/lib/python3.11/site-packages/ipywidgets_bokeh/widget.py:9 in <module>                                 │
                             │                                                                                                                                                                    │
                             │    6 #-----------------------------------------------------------------------------                                                                                │
                             │    7                                                                                                                                                               │
                             │    8 from bokeh.core.properties import Any                                                                                                                         │
                             │ ❱  9 from bokeh.models.layouts import HTMLBox                                                                                                                      │
                             │   10                                                                                                                                                               │
                             │   11 from ipywidgets import embed, Widget                                                                                                                          │
                             │   12                                                                                                                                                               │
                             ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
                             ImportError: cannot import name 'HTMLBox' from 'bokeh.models.layouts'

Desktop (please complete the following information):

  • Windows with WSL 2
@mattquestions mattquestions added the bug Something isn't working label Nov 10, 2024
@vkehfdl1
Copy link
Contributor

@mattquestions Thanks for reporting a bug. I think in colab it is hard to see the dashboard.
I will find out another way to see it.
Colab is just for tutorial, and use dashboard and web feature, recommend to install in your local environment. Thank you

@mattquestions
Copy link
Author

Thank you @vkehfdl1, this is happening in my local environment as well.

@vkehfdl1
Copy link
Contributor

Hi @mattquestions
Can you try to update the bokeh and panel version?
And can you tell me the version of bokeh and panel library?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants