Pandas importing error " ImportError: cannot import name 'DtypeArg' from 'pandas._typing' "

Pandas importing error " ImportError: cannot import name 'DtypeArg' from 'pandas._typing' "

当我尝试导入 pandas 时,它抛出错误。我无法导入 pandas。我重新安装 pandas 但它一直在抛出相同的错误。

我在本地提示符和 jupyter 笔记本中尝试了 运行。我认为它可能与 pip 版本冲突所以我从 pip 中删除了包。目前我只有 conda 版本,但仍然有同样的错误。我能做什么?

 Traceback (most recent call last):
  File "havatahmin.py", line 1, in <module>
    import pandas as pd
  File "C:\Anaconda\envs\ED\lib\site-packages\pandas\__init__.py", line 144, in <module>
    from pandas.io.api import (
  File "C:\Anaconda\envs\ED\lib\site-packages\pandas\io\api.py", line 8, in <module>
    from pandas.io.excel import ExcelFile, ExcelWriter, read_excel
  File "C:\Anaconda\envs\ED\lib\site-packages\pandas\io\excel\__init__.py", line 1, in <module>
    from pandas.io.excel._base import ExcelFile, ExcelWriter, read_excel
  File "C:\Anaconda\envs\ED\lib\site-packages\pandas\io\excel\_base.py", line 33, in <module>
    from pandas.io.parsers import TextParser
  File "C:\Anaconda\envs\ED\lib\site-packages\pandas\io\parsers\__init__.py", line 1, in <module>
    from pandas.io.parsers.readers import (
  File "C:\Anaconda\envs\ED\lib\site-packages\pandas\io\parsers\readers.py", line 17, in <module>
    from pandas._typing import (
ImportError: cannot import name 'DtypeArg' from 'pandas._typing' (C:\Anaconda\envs\ED\lib\site-packages\pandas\_typing.py)

我确认,这是 pandas==1.3.1 中可重现的错误。

解决方法是将其降级到某个早期版本,例如pip install pandas==1.3.0.

可以在我们的 python (3.8) 支持 CUDA 的容器的构建 20210717 中测试 woarkaround:

docker run -d --rm --name ml-gpu-py38-cuda112-cust -p 8888:8888 -v /home/mir:/home/jovyan mirekphd/ml-gpu-py38-cuda112-cust:20210717 && docker logs -f ml-gpu-py38-cuda112-cust

是否已在 Github 上向 pandas 开发人员报告?

更新:问题仍然存在,因此我在 #42506.

中向 Pandas 开发人员提供了一个可重现的示例

出现此错误的原因有多种。

  • pip install pandas --ignore-installed 将在 1.3.01.3.1 之间中断 pandas,因为它不会从 site-packages 中删除旧文件,因此会出现导入错误。如果是这种情况,您可以在没有此标志的情况下重新安装 pandas。
pip install --force-reinstall pandas
  • 混合使用 conda 和 pip 也可能会中断 pandas,正如所讨论的 here. For that matter, if you use conda, try to stick with it then install missing packages with pip. More guidelines on how to use pip in a Conda environment