如何修复 numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject
问题
运行 Python 应用程序时,你看到以下异常:
error_trace.txt
Traceback (most recent call last):
File "/app/run.py", line 2, in <module>
from S3IO import *
File "/app/data.py", line 2, in <module>
import pandas as pd
File "/usr/local/lib/python3.11/site-packages/pandas/__init__.py", line 22, in <module>
from pandas.compat import is_numpy_dev as _is_numpy_dev # pyright: ignore # noqa:F401
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pandas/compat/__init__.py", line 18, in <module>
from pandas.compat.numpy import (
File "/usr/local/lib/python3.11/site-packages/pandas/compat/numpy/__init__.py", line 4, in <module>
from pandas.util.version import Version
File "/usr/local/lib/python3.11/site-packages/pandas/util/__init__.py", line 2, in <module>
from pandas.util._decorators import ( # noqa:F401
File "/usr/local/lib/python3.11/site-packages/pandas/util/_decorators.py", line 14, in <module>
from pandas._libs.properties import cache_readonly
File "/usr/local/lib/python3.11/site-packages/pandas/_libs/__init__.py", line 13, in <module>
from pandas._libs.interval import Interval
File "pandas/_libs/interval.pyx", line 1, in init pandas._libs.interval
ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject解决方案
你使用的 NumPy 版本与你使用的 pandas 版本不兼容。要解决此问题,你需要将 numpy 降级到与你的 pandas 版本兼容的版本。
downgrade_numpy.sh
pip install numpy==1.26.4通常可以解决问题。如果不起作用,尝试使用较旧版本的 pandas,或较新版本的 Python 以及最新版本的 NumPy 和 pandas。
Check out similar posts by category:
Python
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow