导入sklearn触发qhull.cpython-38-darwin.so相关ImportError问题求助
问题根因
报错核心为scipy依赖的libopenblas.0.dylib动态库文件损坏,此前重装软件包/Anaconda无效的原因是conda默认优先调用本地缓存的损坏安装包,不会重新下载完整的有效文件。
解决方案
按以下顺序操作即可解决:
- 第一步:清空conda本地所有缓存,强制后续安装重新下载有效安装包
执行过程中提示确认时输入conda clean -ay即可。 - 第二步:新建独立虚拟环境测试,规避base环境的遗留依赖冲突
# 创建名为py38_test的Python3.8环境 conda create -n py38_test python=3.8 # 激活环境 conda activate py38_test - 第三步:从conda-forge源安装对应依赖,兼容性优于默认源
conda install -c conda-forge scikit-learn scipy numpy - 第四步:执行测试代码验证
无报错即为修复完成。from sklearn import svm,datasets
备选方案
如果上述操作仍报错,直接通过pip强制重装预编译的二进制版本即可:
pip install --force-reinstall scikit-learn scipy numpy
内容的提问来源于stack exchange,提问作者Vishnu Ram
相关产品推荐
相关产品推荐

