在 python ValueError 中导入 Gensim:numpy.ndarray 大小已更改,可能表示二进制不兼容。预期来自 C 标头的 88 从 PyObject 得到 80
Posted
技术标签:
【中文标题】在 python ValueError 中导入 Gensim:numpy.ndarray 大小已更改,可能表示二进制不兼容。预期来自 C 标头的 88 从 PyObject 得到 80【英文标题】:Importing Gensim in python ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header got 80 from PyObject 【发布时间】:2022-01-18 22:45:20 【问题描述】:我只是在执行以下导入语句:
from gensim.test.utils import common_texts
from gensim.models import Word2Vec
但我不断收到以下错误
Traceback (most recent call last):
File "/Users/user/PycharmProjects/COMP34711-NLP-CW2/main.py", line 15, in <module>
from gensim.test.utils import common_texts
File "/Users/user/.conda/envs/COMP34711-NLP-CW2/lib/python3.8/site-packages/gensim/__init__.py", line 11, in <module>
from gensim import parsing, corpora, matutils, interfaces, models, similarities, utils # noqa:F401
File "/Users/user/.conda/envs/COMP34711-NLP-CW2/lib/python3.8/site-packages/gensim/corpora/__init__.py", line 6, in <module>
from .indexedcorpus import IndexedCorpus # noqa:F401 must appear before the other classes
File "/Users/user/.conda/envs/COMP34711-NLP-CW2/lib/python3.8/site-packages/gensim/corpora/indexedcorpus.py", line 14, in <module>
from gensim import interfaces, utils
File "/Users/user/.conda/envs/COMP34711-NLP-CW2/lib/python3.8/site-packages/gensim/interfaces.py", line 19, in <module>
from gensim import utils, matutils
File "/Users/user/.conda/envs/COMP34711-NLP-CW2/lib/python3.8/site-packages/gensim/matutils.py", line 1024, in <module>
from gensim._matutils import logsumexp, mean_absolute_difference, dirichlet_expectation
File "gensim/_matutils.pyx", line 1, in init gensim._matutils
ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject
我已尝试将我的 Numpy 包(根据 this 答案)更新到 1.21.4(本文发布时的最新版本),但我仍然遇到同样的问题。
更新: 根据 Gensim 官方存储库中打开的 these github 问题,Gensim 和 Apple 的 M1 处理器之间似乎有些不兼容。 This 特别是问题,显示了我的确切问题。
【问题讨论】:
【参考方案1】:你是如何安装gensim
的?
您可能想尝试卸载gensim
并重新安装它,在numpy
已更新,以确保任何安装时选择/编译都使用更新后的numpy
? p>
如果这没有帮助,您可能想尝试在新的 conda
环境中重新开始,并确保安装新的 numpy
1st,然后是 gensim
。
【讨论】:
以上是关于在 python ValueError 中导入 Gensim:numpy.ndarray 大小已更改,可能表示二进制不兼容。预期来自 C 标头的 88 从 PyObject 得到 80的主要内容,如果未能解决你的问题,请参考以下文章