Pandas导入错误 " ImportError:无法从'pandas._typing'导入名称'DtypeArg' "

25

当我尝试导入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)

error

2个回答

22

我确认,在 pandas==1.3.1 中存在可重现的错误。

一种解决方法是将其降级为较早的版本,例如pip install pandas==1.3.0

这个解决方法可以在我们的 Python (3.8) CUDA 可用容器的构建 20210717 中测试。

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开发人员报告了?

更新:该问题仍然存在,因此我已经向Pandas开发人员提供了一个可重现的示例,在#42506中。


我还安装了python-dateutil和pytz。这解决了问题。 - Doğukan CEBECİ

9

这个错误可能由多种原因导致。

  • pip install pandas --ignore-installed1.3.01.3.1 之间会破坏 pandas,因为它不会从 site-packages 中删除旧文件,导致导入错误。如果是这种情况,您可以重新安装 pandas 而不使用此标志。
pip install --force-reinstall pandas

混合使用conda和pip可能会打破pandas,就像在这里讨论的那样。为此,如果您使用conda,请尽量坚持使用它,然后使用pip安装缺少的软件包。有关如何在Conda环境中使用pip的指南的更多信息。

3
Pandas 应该被认为是能够在多个版本共存的情况下保持稳健的。我已经遇到过几次各种软件包的这种情况,而没有混合安装程序(仅使用 pip)或使用特殊的安装标志。例如,用户可以在本地安装自己的库版本(在用户文件夹中),并在使用此文件夹运行的 Docker 容器中安装另一个版本。 - mirekphd
我理解你的意思,但我没有看到任何情况下你需要处理多个版本的Pandas。 - Val Berthe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接