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.0
和 1.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。
当我尝试导入 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.0
和1.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。