如何修复“ImportError:无法导入名称'StringIO'”
Posted
技术标签:
【中文标题】如何修复“ImportError:无法导入名称\'StringIO\'”【英文标题】:How to fix "ImportError: cannot import name 'StringIO'"如何修复“ImportError:无法导入名称'StringIO'” 【发布时间】:2019-11-27 23:41:07 【问题描述】:python 版本是 3.6.6,pandas_datareader 版本是 0.7.0
当我导入 pandas_datareader 时,出现如下错误。
C:\PycharmProjects\Demo\venv\Scripts\python.exe C:/PycharmProjects/Demo/stock.py
Traceback (most recent call last):
File "C:/PycharmProjects/Demo/stock.py", line 3, in <module>
import pandas_datareader as wb
File "C:\PycharmProjects\Demo\venv\lib\site-packages\pandas_datareader\__init__.py", line 2, in <module>
from .data import (DataReader, Options, get_components_yahoo,
File "C:\PycharmProjects\Demo\venv\lib\site-packages\pandas_datareader\data.py", line 7, in <module>
from pandas_datareader.av.forex import AVForexReader
File "C:\PycharmProjects\Demo\venv\lib\site-packages\pandas_datareader\av\__init__.py", line 3, in <module>
from pandas_datareader.base import _BaseReader
File "C:\PycharmProjects\Demo\venv\lib\site-packages\pandas_datareader\base.py", line 11, in <module>
from pandas.compat import StringIO, bytes_to_str
ImportError: cannot import name 'StringIO'
有人可以帮帮我吗?
【问题讨论】:
你不会碰巧创建了一个名为pandas.compat
的模块吧?
我碰巧知道这是python版本的问题。 3.5.x 运行良好。无论如何,谢谢。
如果您找到了解决方案,那么您应该将其添加为答案。
【参考方案1】:
问题是 pandas 0.25.0 已删除 pandas.compat。所以回到 0.24.2
pip install "pandas<0.25.0"
或
pipenv install "pandas<0.25.0"
【讨论】:
【参考方案2】:我在 Python3.6 和 Python3.7 上遇到了同样的问题
已降级,在 Python2.7 上运行良好 另外,看到上面有一条评论说 Python3.5 可以工作。
【讨论】:
以上是关于如何修复“ImportError:无法导入名称'StringIO'”的主要内容,如果未能解决你的问题,请参考以下文章