从pyxdameraulevenshtein导入会出现以下错误

pyxdameraulevenshtein==1.5.3
pandas==1.1.4
scikit-learn==0.20.2. 

Numpy是1.16.1。

在Python 3.6中工作良好,在Python 3.7中问题。

有人在使用Python 3.7(3.7.9)时遇到过类似的问题吗?

from pyxdameraulevenshtein import normalized_damerau_levenshtein_distance as norm_dl_dist
__init__.pxd:242: in init pyxdameraulevenshtein
    ???
E   ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject

当前回答

升级numpy版本:

pip install -U numpy

其他回答

升级numpy版本:

pip install -U numpy

使用python虚拟环境并安装gensim:

pip install gensim==3.8.3

我有这个问题,但无法更新numpy,因为一些不兼容的冲突,另一个包,我需要numpy<=1.21.0。错误numpy。Ndarray大小改变,可能表明二进制不兼容是由个人包生成的。解决方案是修改pyproject。我的包和设置Toml文件:

requires = ["numpy==1.21.0", <other packages>]

之前设置为“numpy>=1.21.0”,导致错误。

我在树莓派3中也面临着同样的问题。实际上这个错误发生在熊猫身上。虽然tensorflow需要numpy~=1.19.2,但是pandas不符合它。所以,我已经升级(因为降级不是)我的numpy到最新版本,一切都很好!!!!。

root@raspberrypi:/home/pi# python3
Python 3.7.3 (default, Jan 22 2021, 20:04:44) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np 
>>> np.__version__
'1.21.5'
>>> import pandas as pd
>>> pd.__version__
'1.3.5'
>>> import tensorflow as tf
>>> tf.__version__
'2.4.0'
>>> tf.keras.__version__
'2.4.0'
>>> tf.keras.layers
<module 'tensorflow.keras.layers' from '/usr/local/lib/python3.7/dist-packages/tensorflow/keras/layers/__init__.py'>

这里也有同样的问题- https://github.com/bitsy-ai/tensorflow-arm-bin/issues/5

Tensorflow来源:https://github.com/bitsy-ai/tensorflow-arm-bin

我在使用tensorflow对象api时遇到了这个问题。Tensorflow目前不兼容numpy==1.20(尽管这个问题直到后面才会显现出来)。 在我的例子中,这个问题是由pycocotools引起的。我通过安装旧版本来解决这个问题。

pip install pycocotools==2.0.0