首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入pandas_datareader给ImportError:无法导入名称'is_list_like‘

导入pandas_datareader给ImportError:无法导入名称'is_list_like‘
EN

Stack Overflow用户
提问于 2018-05-17 15:10:47
回答 6查看 52.3K关注 0票数 58

我在虚拟环境中工作。我可以进口和工作熊猫,没有任何错误,但当我试图import pandas_datareader

代码语言:javascript
复制
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

它犯了以下错误-

代码语言:javascript
复制
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'
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2018-05-18 16:15:11

我遇到了这个错误,我找到了一个解决它的方法。我的熊猫和pandas_datareader版本是0.23和0.6。

代码语言:javascript
复制
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,它可以工作。

票数 63
EN

Stack Overflow用户

发布于 2018-06-21 13:45:41

解决方案不需要在本地更改任何文件,并且绕过包管理器(pip)的版本控制,是像这样定义is_list_like:

代码语言:javascript
复制
import pandas as pd
pd.core.common.is_list_like = pd.api.types.is_list_like

就在之前

代码语言:javascript
复制
import pandas_datareader as web

此外,这个问题将在pandas_datareader版本0.7.0版本中得到解决。

票数 98
EN

Stack Overflow用户

发布于 2018-05-18 23:32:56

这是因为在Pandas0.23.0中,is_list_like已经从pandas.core.common迁移到了pandas.api.types。这个问题已经修复了这里,并将成为Pandas 0.7.0发行版的一部分。现在,我建议使用Datareader的dev版本。安装说明可在文档中找到。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50394873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档