M1 Mac conda环境导入sklearn报错No module named 'numpy.random.bit_generator'
错误原因
该报错核心是当前conda环境中scipy版本与numpy版本不兼容:numpy.random.bit_generator 是NumPy 1.17~1.23版本的子模块,1.24及以上版本的NumPy将该模块重构合并到了numpy.random下,老旧版本的scipy仍会调用旧路径的模块,因此触发报错。加上M1芯片的ARM架构下部分默认conda源的预编译包适配不完善,更容易出现这类依赖冲突。
解决方案
首先激活目标conda环境:conda activate ml
之后选择以下任意一种方案操作即可:
- 方案1:安装经过验证的兼容版本组合,适配M1芯片架构:
conda install -c conda-forge numpy=1.23 scipy=1.9 scikit-learn=1.2 - 方案2:不降低NumPy版本,直接将所有相关依赖升级到最新兼容版:
conda update -c conda-forge numpy scipy scikit-learn - 特殊情况处理:如果操作后仍报错,先卸载所有相关包再重新安装:
conda remove numpy scipy scikit-learn conda install -c conda-forge numpy scipy scikit-learn
- 注意事项:不要在conda环境中混用pip安装numpy、scipy这类底层依赖,容易出现架构不匹配的冲突。
操作完成后在Python中执行import sklearn验证即可。
内容的提问来源于stack exchange,提问作者Nikhil Chaurasiya
相关产品推荐
相关产品推荐

