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'
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.
A solution without changing any files locally and bypass the version control of your package manager (pip) is to define is_list_like like this:
import pandas as pd
pd.core.common.is_list_like = pd.api.types.is_list_like
right before
import pandas_datareader as web
Furthermore this problem will be fixed in pandas_datareader version 0.7.0 release.
This is due to the fact that is_list_like
has been moved from pandas.core.common
to pandas.api.types
in Pandas 0.23.0. This issue has been repaired here and will be a part of the Pandas Datareader 0.7.0 release. For now, I would recommend using the dev version of Datareader. Instructions for installing can be found in the documentation.
If you are not working with pandas_datareader. you need to check your conda environment data reader is installed or not if not install than you can import this way this.
import pandas as pd
pd.core.common.is_list_like = pd.api.types.is_list_like
import pandas_datareader as web
Edit fred.py file inside /your_installation_path/python2.7/site-packages/pandas_datareader and replace as below:
from pandas.core.common import is_list_like #COMMENT IT
from pandas.api.types import is_list_like #ADD
In Ubuntu 18.04, using Python 3.6 I resolved the error in the following way.
cd /home/username/.local/lib/python3.6/site-packages/pandas_datareader
subl fred.py
and I changed the first line of code which was
from pandas.core.common import is_list_like
to
from pandas.api.types import is_list_like
ReferenceURL : https://stackoverflow.com/questions/50394873/import-pandas-datareader-gives-importerror-cannot-import-name-is-list-like
'programing tip' 카테고리의 다른 글
Vim : 두 캐릭터를 어떻게 바꾸나요? (0) | 2021.01.05 |
---|---|
ios5 ARC ARC에서 파일을 제외하는 컴파일러 플래그는 무엇입니까? (0) | 2021.01.05 |
값 범위를 다른 값에 매핑 (0) | 2021.01.05 |
heroku open-지정된 앱 없음 (0) | 2021.01.05 |
Django가 Gunicorn으로 정적 파일을 제공하도록 만드는 방법은 무엇입니까? (0) | 2021.01.05 |