我正在尝试使用 Gensim,但运行
import gensim
会引发此错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.10/dist-packages/gensim/__init__.py", line 11, in <module>
from gensim import parsing, corpora, matutils, interfaces, models, similarities, utils # noqa:F401
File "/usr/local/lib/python3.10/dist-packages/gensim/corpora/__init__.py", line 6, in <module>
from .indexedcorpus import IndexedCorpus # noqa:F401 must appear before the other classes
File "/usr/local/lib/python3.10/dist-packages/gensim/corpora/indexedcorpus.py", line 14, in <module>
from gensim import interfaces, utils
File "/usr/local/lib/python3.10/dist-packages/gensim/interfaces.py", line 19, in <module>
from gensim import utils, matutils
File "/usr/local/lib/python3.10/dist-packages/gensim/matutils.py", line 20, in <module>
from scipy.linalg import get_blas_funcs, triu
ImportError: cannot import name 'triu' from 'scipy.linalg' (/usr/local/lib/python3.10/dist-packages/scipy/linalg/__init__.py)
为什么会发生这种情况以及如何解决?
我发现了问题。
The scipy.linalg functions tri, triu & tril are deprecated and will be removed in SciPy 1.13.
所以,我安装了 scipy v1.10.1 而不是最新版本,并且运行良好。
pip install scipy==1.10.1
我无法使用 scipy v1.10.1,但 1.12 似乎也解决了这个问题:
pip install scipy==1.12