import pandas_datareader gives ImportError: cannot import name 'is_list_like'
import pandas_datareader gives ImportError: cannot import name 'is_list_like'
我在虚拟环境中工作。我能够在 pandas 中导入和工作而不会出现任何错误,但是当我尝试 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
它给出了以下错误 -
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'
我遇到了这个错误,我找到了解决它的方法。我的 pandas 和 pandas_datareader 版本是 0.23 和 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'
因为is_list_like
被移动到pandas.api.types,我更改了图中突出显示的fred.py文件。我将 from pandas.core.common import is_list_like
替换为 from pandas.api.types import is_list_like
,它起作用了。
这是因为 is_list_like
在 Pandas 0.23.0 中已从 pandas.core.common
移动到 pandas.api.types
。此问题已修复 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。
编辑 /your_installation_path/python2.7/site-packages/pandas_datareader 内的 fred.py 文件并替换如下:
从 pandas.core.common 导入 is_list_like #COMMENT IT
从pandas.api.types导入is_list_like#ADD
在Ubuntu 18.04中,使用Python 3.6 我通过以下方式解决了错误。
cd /home/username/.local/lib/python3.6/site-packages/pandas_datareader
subl fred.py
我更改了第一行代码
from pandas.core.common import is_list_like
到
from pandas.api.types import is_list_like
一个解决方案无需在本地更改任何文件并且绕过你的包管理器(pip)的版本控制是定义is_list_like 像这样:
import pandas as pd
pd.core.common.is_list_like = pd.api.types.is_list_like
就在
之前
import pandas_datareader as web
此外,此问题将在 pandas_datareader 版本 0.7.0 中修复。
如果您不使用 pandas_datareader。您需要检查您的 conda 环境数据 reader 是否已安装,如果未安装则可以通过这种方式导入。
import pandas as pd
pd.core.common.is_list_like = pd.api.types.is_list_like
import pandas_datareader as web
我在虚拟环境中工作。我能够在 pandas 中导入和工作而不会出现任何错误,但是当我尝试 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
它给出了以下错误 -
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'
我遇到了这个错误,我找到了解决它的方法。我的 pandas 和 pandas_datareader 版本是 0.23 和 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'
因为is_list_like
被移动到pandas.api.types,我更改了图中突出显示的fred.py文件。我将 from pandas.core.common import is_list_like
替换为 from pandas.api.types import is_list_like
,它起作用了。
这是因为 is_list_like
在 Pandas 0.23.0 中已从 pandas.core.common
移动到 pandas.api.types
。此问题已修复 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。
编辑 /your_installation_path/python2.7/site-packages/pandas_datareader 内的 fred.py 文件并替换如下:
从 pandas.core.common 导入 is_list_like #COMMENT IT
从pandas.api.types导入is_list_like#ADD
在Ubuntu 18.04中,使用Python 3.6 我通过以下方式解决了错误。
cd /home/username/.local/lib/python3.6/site-packages/pandas_datareader
subl fred.py
我更改了第一行代码
from pandas.core.common import is_list_like
到
from pandas.api.types import is_list_like
一个解决方案无需在本地更改任何文件并且绕过你的包管理器(pip)的版本控制是定义is_list_like 像这样:
import pandas as pd
pd.core.common.is_list_like = pd.api.types.is_list_like
就在
之前import pandas_datareader as web
此外,此问题将在 pandas_datareader 版本 0.7.0 中修复。
如果您不使用 pandas_datareader。您需要检查您的 conda 环境数据 reader 是否已安装,如果未安装则可以通过这种方式导入。
import pandas as pd
pd.core.common.is_list_like = pd.api.types.is_list_like
import pandas_datareader as web