import pandas_datareader gives ImportError: cannot import name 'is_list_like'

I am working in a virtual environment. I am able to import and work in pandas without any error but when I am trying to import pandas_datareader

    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    import datetime as dt
    from matplotlib import style
    import pandas_datareader as web

it is giving following error -

    Traceback (most recent call last):
      File "stock.py", line 6, in <module>
        import pandas_datareader as web
      File "/home/xxxxx/django-apps/env/lib/python3.5/site-packages/pandas_datareader/__init__.py", line 2, in <module>
        from .data import (DataReader, Options, get_components_yahoo,
      File "/home/xxxxx/django-apps/env/lib/python3.5/site-packages/pandas_datareader/data.py", line 14, in <module>
        from pandas_datareader.fred import FredReader
      File "/home/xxxxx/django-apps/env/lib/python3.5/site-packages/pandas_datareader/fred.py", line 1, in <module>
        from pandas.core.common import is_list_like
    ImportError: cannot import name 'is_list_like'
    (env) xxxxx@xxxxx-yyyyy ~/pyt $ python stock.py
    Traceback (most recent call last):
      File "stock.py", line 6, in <module>
        import pandas_datareader
      File "/home/xxxxx/django-apps/env/lib/python3.5/site-packages/pandas_datareader/__init__.py", line 2, in <module>
        from .data import (DataReader, Options, get_components_yahoo,
      File "/home/xxxxx/django-apps/env/lib/python3.5/site-packages/pandas_datareader/data.py", line 14, in <module>
        from pandas_datareader.fred import FredReader
      File "/home/xxxxx/django-apps/env/lib/python3.5/site-packages/pandas_datareader/fred.py", line 1, in <module>
        from pandas.core.common import is_list_like
    ImportError: cannot import name 'is_list_like'

I meet this error and I found a method to solve it. My pandas and pandas_datareader versions are 0.23 and 0.6.

    Python 3.6.5 (default, Apr  1 2018, 05:46:30)
    [GCC 7.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import pandas_datareader
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/local/lib/python3.6/dist-packages/pandas_datareader/__init__.py", line 2, in <module>
        from .data import (DataReader, Options, get_components_yahoo,
      File "/usr/local/lib/python3.6/dist-packages/pandas_datareader/data.py", line 14, in <module>
        from pandas_datareader.fred import FredReader
      File "/usr/local/lib/python3.6/dist-packages/pandas_datareader/fred.py", line 1, in <module>
        from pandas.core.common import is_list_like
    ImportError: cannot import name 'is_list_like'

enter image description here

Because the is_list_like is moved to pandas.api.types, I change the fred.py file which is highlighted in the picture. I replace from pandas.core.common import is_list_like with from pandas.api.types import is_list_like, and it works.

enter image description here

From: stackoverflow.com/q/50394873

Back to homepage or read more recommendations: