导入gensim时遇ImportError: DLL加载失败问题求助
你遇到的是Windows环境下科学计算库(numpy、scipy)典型的DLL依赖兼容问题,核心是scipy依赖的qhull模块找不到对应的动态链接库。我之前也碰到过类似情况,下面是亲测有效的分步解决方案:
步骤1:彻底清理现有安装残留
先完全卸载已有的相关包,避免旧文件干扰后续安装:
pip uninstall -y numpy scipy gensim
然后手动删除Python安装目录下site-packages里的numpy、scipy、gensim文件夹(比如你的路径是C:\Users\usr\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages),确保没有残留文件。
步骤2:安装带MKL的兼容版numpy
你之前安装带MKL的numpy失败,大概率是版本不匹配。针对Python 3.7 64位,推荐安装numpy-1.19.5+mkl-cp37-cp37m-win_amd64.whl(这个版本稳定性和兼容性更好)。下载对应版本的whl文件后,用pip本地安装:
pip install C:\你的文件路径\numpy-1.19.5+mkl-cp37-cp37m-win_amd64.whl
注意:确保你的Python是64位版本,否则无法安装amd64架构的whl包。可以通过
python --version查看,输出里会带有AMD64标识。
步骤3:安装匹配版本的scipy
针对Python 3.7和上面的numpy版本,安装scipy-1.4.1-cp37-cp37m-win_amd64.whl,同样用本地whl安装:
pip install C:\你的文件路径\scipy-1.4.1-cp37-cp37m-win_amd64.whl
不要用pip install scipy直接安装,避免自动下载的版本存在DLL依赖问题。
步骤4:安装兼容版gensim
最后安装和Python3.7、scipy1.4.1匹配的gensim版本,推荐3.8.3:
pip install gensim==3.8.3
额外注意事项
- 安装Visual C++ Redistributable for Visual Studio 2019(x64版本),很多科学计算库依赖这个运行时环境,缺失会导致DLL加载失败。
- 检查系统环境变量,确保Python的
Scripts目录和site-packages目录被添加到PATH中,让系统能找到依赖的DLL文件。
完成以上步骤后,再尝试导入gensim,应该就能解决问题了。
内容的提问来源于stack exchange,提问作者llee

