使用gensim加载word2vec时出现scipy.linalg无法导入triu的错误求助
解决Scipy中
triu导入失败的问题 可行修复方案
匹配Gensim与Scipy的兼容版本
部分Gensim版本对Scipy的API调用逻辑未适配,导致导入报错。先卸载现有Gensim,安装经测试兼容的版本:pip uninstall gensim -y pip install gensim==4.3.2该版本已针对Scipy的
triu接口变更做了适配,能规避导入问题。验证当前环境的Scipy版本
多Python环境共存时,你升级/降级的Scipy可能不是代码运行环境的版本。先检查当前环境的Scipy信息:import scipy print(scipy.__version__) print(scipy.__file__)若版本不符,用当前环境的pip重新安装兼容版本(比如1.10.x系列):
pip install scipy==1.10.1手动替换
triu的导入源
若上述方法无效,可临时修改Gensim源码中的导入逻辑:找到Gensim安装目录下的相关文件(如gensim/models/word2vec.py),将from scipy.linalg import triu替换为import numpy as np; triu = np.triu——Numpy的triu与Scipy的功能完全一致,可直接替代。
内容的提问来源于stack exchange,提问作者Syrine Fekih
相关产品推荐
相关产品推荐

