ModuleNotFoundError: No module named ‘numpy‘ 解决方案

本文记录了作者在使用Python进行高斯消元算法实现过程中遇到的numpy模块未找到的问题及解决过程。通过检查Python环境、确认numpy安装路径及版本,最终成功解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

今天做 NLA 的作业,需要使用 gaussian elimination,不是特别想用 C++ 来完成,主要是太麻烦。于是就准备使用自己贫瘠的 Python 来完成。

啪啦啪啦打了一堆代码,然后在 VSCode 上运行。我去,什么反馈都没有。蒙了,缓了一口气,让我懵逼的大脑休息一下。切换到 Terminal 来调试。

前面先是 print 的几个语法错误,轻松解决。

File "gaussian_elim.py", line 23
    print A
          ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(A)?

语法错误解决后,开始大餐。

% python3 gaussian_elim.py
Traceback (most recent call last):
  File "gaussian_elim.py", line 1, in <module>
    import numpy as np
ModuleNotFoundError: No module named 'numpy'

什么意思?没有安装 numpy。好吧。立马 pip3 install numpy,看到系统反馈如下。

% pip3 install numpy
Requirement already satisfied: numpy in /usr/local/lib/python3.8/site-packages (1.19.1)

继续 pyhon3 gaussian_elim.py 还是同样的问题,numpy 包没有找到。这下更懵逼了。

% pip3 list
Package    Version
---------- -------
numpy      1.19.2
pip        20.1.1
protobuf   3.13.0
PyQt5      5.15.0
PyQt5-sip  4.19.24
setuptools 49.2.0
six        1.15.0
TBB        0.1
wheel      0.34.2

这里不是有 numpy 啊。WTF。

认真考虑了几秒,实际是好几分钟,会不会是我机器安装了两个版本 numpy 导致啊。

% sudo python3 -m pip install numpy
Password:
The directory '/Users/yeecall/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/Users/yeecall/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting numpy
  Downloading https://files.pythonhosted.org/packages/c1/a9/f04a5b7db30cc30b41fe516b8914c5049264490a34a49d977937606fbb23/numpy-1.19.2-cp37-cp37m-macosx_10_9_x86_64.whl (15.3MB)
    100% |████████████████████████████████| 15.3MB 1.5MB/s 
Installing collected packages: numpy
Successfully installed numpy-1.19.2

验证一下 numpy 是否安装好。

% python3 
Python 3.7.3 (default, Aug  4 2020, 19:30:55) 
[Clang 11.0.3 (clang-1103.0.32.62)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
exit()>>> print (numpy.__version__)
1.19.2

我的天,终于正常了。

问题可能原因

可能是 MBP 上存在两个版本的 Python,即 Python2 和 Python3 导致。

解决方法

指定 python3 安装 numpy 包。使用 python3 -m pip install numpy,注意有权限问题的话,使用 sudo python3 -m pip install numpy。

### Python中解决`ModuleNotFoundError: No module named 'numpy._core'` 当遇到 `ModuleNotFoundError: No module named 'numpy._core'` 错误时,通常表明当前环境中缺少必要的 NumPy 文件或存在安装不完全的情况。以下是可能的原因以及解决方案: #### 可能原因分析 1. **NumPy 安装不完整** 如果 NumPy 的某些核心组件未正确安装,则可能导致 `_core` 或其子模块缺失[^1]。 2. **多个版本冲突** 当前环境中可能存在不同版本的 NumPy 残留文件,这些残留可能会干扰正常模块加载[^1]。 3. **虚拟环境配置问题** 使用虚拟环境时,如果 NumPy 被安装到了错误的位置或者路径设置有问题,也可能引发此类错误[^3]。 --- #### 解决方案 ##### 方法一:重新安装 NumPy 通过卸载并重新安装 NumPy 来修复潜在的损坏或残余文件: ```bash pip uninstall numpy pip install numpy==1.23.0 ``` 此方法可以清除旧版残留并确保最新指定版本被正确安装[^1]。 ##### 方法二:验证安装路径 确认 NumPy 是否已成功安装至目标解释器对应的库目录下。可以通过以下代码检查实际安装位置: ```python import numpy as np print(np.__file__) ``` 该命令会返回 NumPy 主程序所在的绝对路径。若路径异常(如指向其他环境),需调整虚拟环境配置或将 NumPy 卸载重装[^3]。 ##### 方法三:手动补充缺失的核心文件 对于特定情况下确实因文件丢失而无法运行的情形,可尝试从功能正常的虚拟环境中提取所需 `.pyd` 动态链接库文件(例如 `multiarray.pyd` 和 `umath.pyd`)。将其复制到报错环境下的相应目录结构内[^1]: - 原始路径示例:`<your_env>/lib/site-packages/numpy/core/_multiarray_umath.cpXX-win_amd64.pyd` - 复制目标路径:同级目录覆盖即可生效。 注意操作前务必备份原数据以防意外破坏现有状态! ##### 方法四:升级 Pip 工具链 有时低版本的 pip 本身也会造成依赖解析失败等问题影响第三方包质量;因此建议更新工具后再试一次全新部署流程: ```bash pip install --upgrade pip setuptools wheel ``` 之后再次执行标准安装指令完成替换过程[^2]。 --- ### 总结 以上四种方式涵盖了大部分场景下的排查手段及其应对措施。优先推荐使用自动化机制即方法一所述步骤来解决问题最为简便高效同时也减少了人为干预带来的不确定性风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力的老周

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值