AutoViML / AutoViz

Automatically Visualize any dataset, any size with a single line of code. Created by Ram Seshadri. Collaborators Welcome. Permission Granted upon Request.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A clean install fails on import

ahasha opened this issue · comments

I attempted to install the latest version (0.1.604) in a fresh poetry project and the quickstart code fails on import:

   ...: AV = AutoViz_Class()

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
File ~/Library/Caches/pypoetry/virtualenvs/autoviz-trial-x6XO0Xb6-py3.9/lib/python3.9/site-packages/holoviews/plotting/bokeh/annotation.py:17
     16 try:
---> 17     from bokeh.models.arrow_heads import TeeHead, NormalHead
     18     arrow_start = {'<->': NormalHead, '<|-|>': NormalHead}

ModuleNotFoundError: No module named 'bokeh.models.arrow_heads'

During handling of the above exception, another exception occurred:

ModuleNotFoundError                       Traceback (most recent call last)
Cell In[1], line 1
----> 1 from autoviz import AutoViz_Class
      2 AV = AutoViz_Class()

File ~/Library/Caches/pypoetry/virtualenvs/autoviz-trial-x6XO0Xb6-py3.9/lib/python3.9/site-packages/autoviz/__init__.py:3
      1 name = "autoviz"
      2 from .__version__ import __version__, __holo_version__
----> 3 from .AutoViz_Class import AutoViz_Class
      4 from .classify_method import data_cleaning_suggestions
      5 if __name__ == "__main__":

File ~/Library/Caches/pypoetry/virtualenvs/autoviz-trial-x6XO0Xb6-py3.9/lib/python3.9/site-packages/autoviz/AutoViz_Class.py:61
     59 from sklearn.model_selection import train_test_split
     60 ##########################################################################################
---> 61 from autoviz.AutoViz_Holo import AutoViz_Holo
     62 from autoviz.AutoViz_Utils import *
     63 from autoviz.AutoViz_NLP import draw_word_clouds

File ~/Library/Caches/pypoetry/virtualenvs/autoviz-trial-x6XO0Xb6-py3.9/lib/python3.9/site-packages/autoviz/AutoViz_Holo.py:5
      3 import pandas as pd
      4 ############# Import from autoviz.AutoViz_Class the following libraries #######
----> 5 from autoviz.AutoViz_Utils import *
      6 ##############   make sure you use: conda install -c pyviz hvplot ###############
      7 import hvplot.pandas  # noqa

File ~/Library/Caches/pypoetry/virtualenvs/autoviz-trial-x6XO0Xb6-py3.9/lib/python3.9/site-packages/autoviz/AutoViz_Utils.py:61
     59 from sklearn.model_selection import train_test_split
     60 ######## This is where we import HoloViews related libraries  #########
---> 61 import hvplot.pandas
     62 import holoviews as hv
     63 from holoviews import opts

File ~/Library/Caches/pypoetry/virtualenvs/autoviz-trial-x6XO0Xb6-py3.9/lib/python3.9/site-packages/hvplot/__init__.py:69
     65 import holoviews as _hv
     67 from holoviews import Store, render  # noqa
---> 69 from .converter import HoloViewsConverter
     70 from .interactive import Interactive
     71 from .ui import explorer  # noqa

File ~/Library/Caches/pypoetry/virtualenvs/autoviz-trial-x6XO0Xb6-py3.9/lib/python3.9/site-packages/hvplot/converter.py:23
     16 from holoviews.core.util import max_range
     17 from holoviews.element import (
     18     Curve, Scatter, Area, Bars, BoxWhisker, Dataset, Distribution,
     19     Table, HeatMap, Image, HexTiles, QuadMesh, Bivariate, Histogram,
     20     Violin, Contours, Polygons, Points, Path, Labels, RGB, ErrorBars,
     21     VectorField, Rectangles, Segments
     22 )
---> 23 from holoviews.plotting.bokeh import OverlayPlot, colormap_generator
     24 from holoviews.plotting.util import process_cmap
     25 from holoviews.operation import histogram

File ~/Library/Caches/pypoetry/virtualenvs/autoviz-trial-x6XO0Xb6-py3.9/lib/python3.9/site-packages/holoviews/plotting/bokeh/__init__.py:26
     23 except:
     24     DFrame = None
---> 26 from .annotation import (
     27     TextPlot, LineAnnotationPlot, BoxAnnotationPlot, SplinePlot, ArrowPlot,
     28     DivPlot, LabelsPlot, SlopePlot
     29 )
     30 from ..plot import PlotSelector
     31 from ..util import fire

File ~/Library/Caches/pypoetry/virtualenvs/autoviz-trial-x6XO0Xb6-py3.9/lib/python3.9/site-packages/holoviews/plotting/bokeh/annotation.py:22
     19     arrow_end = {'->': NormalHead, '-[': TeeHead, '-|>': NormalHead,
     20                  '-': None}
     21 except:
---> 22     from bokeh.models.arrow_heads import OpenHead, NormalHead
     23     arrow_start = {'<->': NormalHead, '<|-|>': NormalHead}
     24     arrow_end = {'->': NormalHead, '-[': OpenHead, '-|>': NormalHead,
     25                  '-': None}

ModuleNotFoundError: No module named 'bokeh.models.arrow_heads'

I have tried using Python 3.10 and 3.9 with the same results. I know your setup instructions call for Python 3.7, but this looks more like an incompatibility with recent versions of bokeh that could be resolved by constraining the bokeh dependency in setup.py. The install works if I peg bokeh to 2.4.2

Ok it works fine in Colab and Kaggle kernels where "clean install" is the norm. It must be something wrong with your machine.

Try these and compare your versions to what is mentioned in the requirements.txt file:

import bokeh
bokeh.__version__

import hvplot
hvplot.__version__

I am sorry I can't help you any further.

commented

@AutoViML I think this fix is not published as a new version in pypi from looking at the release history. Can you please publish this fix ? Thanks

I have the same issue. The "fix" that was puhsed is simply to restrict bokeh to version 2.4.2. If this is satisfied together with hvplot in version 0.7.3 it works for me.
So, to reiterate, until this is pushed you can make it work by running:

pip install hvplot==0.7.3 bokeh==2.4.2

Hi @omrihar @ImElan @ahasha 👍
I have updated the requirements.txt and setup.py files. Please go ahead and test it. Should work now.
Thanks for the feedback,
AutoVimal