如何解决scipy导入错误及daal4py、numba依赖冲突问题
解决scipy DLL加载错误与依赖冲突的方案
1. 回退numpy至兼容版本
你的numpy 2.0.2版本过于超前,与numba 0.55.1的版本要求(numpy<1.22,>=1.18)完全冲突,先执行回退操作:
# 用pip回退 pip install numpy==1.21.6 # 或用conda更稳妥(推荐) conda install numpy=1.21.6
2. 修复scipy的DLL加载问题
_spropack DLL加载失败多因scipy版本与当前环境不兼容或安装损坏,先卸载再重装适配版本:
pip uninstall -y scipy pip install scipy==1.7.3
(1.7.3版本与numpy 1.21.x完全兼容,可避免Windows下的DLL依赖问题)
3. 处理daal4py的依赖冲突
如果不需要daal4py工具,直接卸载即可消除冲突:
pip uninstall -y daal4py
若需保留daal4py,安装其指定依赖版本:
pip install daal==2021.4.0
4. 验证环境兼容性
执行命令检查核心包版本是否匹配:
# Windows系统 pip list | findstr /i "numpy scipy scikit-learn numba" # Linux/macOS系统 pip list | grep -i "numpy scipy scikit-learn numba"
确保输出类似如下兼容版本:
numpy 1.21.6 scipy 1.7.3 scikit-learn 1.0.2 numba 0.55.1
5. 测试代码有效性
运行你的导入代码,确认无报错:
import numpy as np from tensorflow.keras.models import Sequential from tensorflow.keras.layers import LSTM from tensorflow.keras.layers import Dense, Dropout import pandas as pd from sklearn.preprocessing import StandardScaler
额外推荐:创建隔离conda环境
若上述操作仍有遗留问题,直接新建干净环境彻底规避依赖混乱:
conda create -n tf_sklearn_env python=3.9 conda activate tf_sklearn_env conda install tensorflow scikit-learn pandas numpy=1.21.6 numba=0.55.1
该环境内的包均为预兼容配置,无需手动调整依赖。
内容的提问来源于stack exchange,提问作者Sutthida
相关产品推荐
相关产品推荐

