Mac运行Python导入numpy报_multiarray_umath模块缺失错误求助
问题根源
- 你的环境存在多份numpy安装实例,且Python解释器的包加载路径优先级异常:你通过
pip3升级的numpy 1.21.2安装在当前用户的Python包目录下,但程序运行时优先加载了/Volumes/brazil-pkg-cache/路径下损坏的旧版本numpy(1.18.4),该版本的C扩展和你使用的Python 3.6适配异常,因此抛出扩展缺失错误。 - 你使用的
pip3和运行程序的Python解释器不匹配,导致升级的包没有被对应解释器识别。
解决步骤
- 首先指定你运行程序的Python解释器来重装numpy,避免pip和解释器不匹配问题,执行以下命令:
/usr/local/bin/python3.6 -m pip install --force-reinstall numpy==1.21.2
- 若重装后仍报错,说明
brazil-pkg-cache的路径在Python包搜索路径中优先级更高,可在你的Python代码最开头加入两行调整路径优先级:
import sys # 把你自己的Python包目录放到最高优先级 sys.path.insert(0, "/usr/local/lib/python3.6/site-packages") import numpy as np
- 若你使用IDE运行程序,额外检查IDE的Python解释器配置,确认选中的是
/usr/local/bin/python3.6,而非其他虚拟环境或系统自带Python。 - 若以上步骤都无效,可直接删除损坏的旧版本numpy:
rm -rf /Volumes/brazil-pkg-cache/packages/Python-numpy/Python-numpy-1.x.140450.0/AL2012/DEV.STD.PTHREAD/build/lib/python3.6/site-packages/numpy
内容的提问来源于stack exchange,提问作者Rahul Patwa
相关产品推荐
相关产品推荐

