nasdaq name is_list_like cannot python pandas pandas-datareader

python - name - import pandas_datareader da ImportError: no se puede importar el nombre ''is_list_like''



pandas datareader nasdaq (6)

Estoy trabajando en un entorno virtual. Puedo importar y trabajar en pandas sin ningún error, pero cuando intento 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

está dando el siguiente 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''


Edite el archivo fred.py en /your_installation_path/python2.7/site-packages/pandas_datareader y reemplace de la siguiente manera:

desde pandas.core.common import is_list_like #COMMENT IT

desde pandas.api.types import is_list_like #ADD


En Ubuntu 18.04, utilizando Python 3.6, resolví el error de la siguiente manera.

cd /home/username/.local/lib/python3.6/site-packages/pandas_datareader

subl fred.py

y cambié la primera línea de código que era

from pandas.core.common import is_list_like

a

from pandas.api.types import is_list_like


Esto se debe al hecho de que is_list_like se ha movido de pandas.core.common a pandas.api.types en Pandas 0.23.0. Este problema se ha reparado here y será parte de la versión 0.7.0 de Pandas Datareader. Por ahora, recomendaría usar la versión dev de Datareader. Las instrucciones para la instalación se pueden encontrar en la documentation .


Me encuentro con este error y encontré un método para resolverlo. Mis versiones de pandas y pandas_datareader son 0.23 y 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''

Debido a que is_list_like se mueve a pandas.api.types, cambio el archivo fred.py que se resalta en la imagen. Reemplazo from pandas.core.common import is_list_like con from pandas.api.types import is_list_like , y funciona.


Si no estás trabajando con pandas_datareader. Usted necesita verificar si el lector de datos de su entorno conda está instalado o no, si no está instalado, entonces puede importar esto de esta manera.

import pandas as pd pd.core.common.is_list_like = pd.api.types.is_list_like import pandas_datareader as web


Una solución sin cambiar los archivos localmente y omitir el control de versión de su administrador de paquetes (pip) es definir a is_list_like de esta manera:

import pandas as pd pd.core.common.is_list_like = pd.api.types.is_list_like

justo antes de

import pandas_datareader as web

Además, este problema se solucionará en la versión pand.0_datareader versión 0.7.0.