python深度学习报错:Original error was: No module named ‘numpy.core._multiarray_umath‘

一、报错分析

从报错信息来看,在启动 uvicorn 服务并尝试导入相关模块的过程中出现了一系列问题,最终导致了 ImportError,关键错误信息为 "No module named 'numpy.core._multiarray_umath'",这表明在导入 numpy 模块的过程中,无法找到 numpy.core._multiarray_umath 这个子模块,可能是由于以下几种原因:

  1. mkl-service 包未安装或相关初始化问题
    一开始出现了关于 mkl-service 包的警告信息:
    plaintext
    F:\Anaconda3\envs\env36\lib\site-packages\numpy_init _.py:140: UserWarning: mkl-service package failed to import, therefore Intel® MKL initialization ensuring its correct out-of-the box operation under condition when Gnu OpenMP had already been loaded by Python process is not assured. Please install mkl-service package, see http://github.com/IntelPython/mkl-service
    from. import _distributor_init
    这表明 mkl-service 包未能成功导入,可能会影响到 numpy 以及后续依赖 numpy 的模块(如 tensorflow)的正常运行,因为 mkl-service 包在某些情况下与 numpy 的初始化及正确运行相关。
  2. numpy 模块本身的安装或配置问题
    最终的 ImportError 显示无法导入 numpy.core._multiarray_umath,这可能是由于 numpy 本身安装不完整、版本不兼容或者与其他库(如 tensorflow)的依赖关系存在冲突等原因导致的。

二、解决办法

  1. 安装 mkl-service 包
    按照警告信息的提示,首先尝试安装 mkl-service 包,在当前 env36 环境下的命令行中执行以下命令:
    bash
    运行
    pip install mkl-service
    或者如果是使用 conda 管理环境,可以执行:
    bash
    运行
    conda install mkl-service
    安装完成后,再次尝试启动 uvicorn 服务,看是否还会出现相关报错。
  2. 检查并修复 numpy 的安装
    重新安装 numpy:
    先卸载当前环境中的 numpy 包,可以通过以下命令(根据使用的包管理工具选择):
    如果是使用 pip:
    bash
    运行
    pip uninstall numpy
    如果是使用 conda:
    bash
    运行
    conda uninstall numpy
    然后重新安装 numpy,同样根据包管理工具选择合适的命令:
    如果是使用 pip:
    bash
    运行
    pip install numpy
    如果是使用 conda:
    bash
    运行
    conda install numpy
    检查 numpy 版本兼容性:
    当前环境中的 numpy 版本是 "1.18.5",有些较新的库(如 tensorflow)可能对 numpy 的版本有一定要求。可以查看相关库(如 tensorflow)的官方文档,了解其推荐的 numpy 版本范围。
    如果发现当前 numpy 版本不在推荐范围内,可以尝试升级或降级 numpy 的版本。例如,如果需要升级,可以通过以下命令(根据包管理工具选择):
    如果是使用 pip:
    bash
    运行
    pip install --upgrade numpy
    如果是使用 conda:
    bash
    运行
    conda install --upgrade numpy
    反之,如果需要降级,可以先查找合适的版本号(例如通过 pip search numpy 或 conda search numpy),然后再按照安装命令加上版本号进行安装。比如,要安装版本为 "1.19.5" 的 numpy(假设通过 pip 安装),可以执行:
    bash
    运行
    pip install numpy==1.19.5
  3. 检查其他依赖库的兼容性
    由于报错是在导入 tensorflow 等一系列模块的过程中出现的,所以还需要检查 tensorflow 与 numpy、mkl-service 等其他相关库的兼容性。
    查看 tensorflow 官方文档:了解 tensorflow 对 numpy、mkl-service 等库的版本要求以及可能存在的已知兼容性问题。
    更新或调整相关库版本:根据官方文档的提示,如果发现存在不兼容的情况,可以通过上述的包管理工具( pip 或 conda)来更新或调整相关库的版本,使其达到兼容状态。
    通过以上步骤的排查和处理,应该可以解决目前遇到的模块导入报错问题,从而成功启动 uvicorn 服务。
相关推荐
Rabbit_QL12 小时前
【水印添加工具】从零设计一个工程级 Python 图片水印工具:WaterMask 架构与实现
开发语言·python
曲幽13 小时前
FastAPI多进程部署:定时任务重复执行?手把手教你用锁搞定
redis·python·fastapi·web·lock·works
就这个丶调调14 小时前
VLLM部署全部参数详解及其作用说明
深度学习·模型部署·vllm·参数配置
森屿~~14 小时前
AI 手势识别系统:踩坑与实现全记录 (PyTorch + MediaPipe)
人工智能·pytorch·python
忧郁的橙子.15 小时前
26期_01_Pyhton文件的操作
开发语言·python
轴测君15 小时前
SE Block(Squeeze and Excitation Block)
深度学习·机器学习·计算机视觉
小CC吃豆子16 小时前
Python爬虫
开发语言·python
June bug16 小时前
(#字符串处理)字符串中第一个不重复的字母
python·leetcode·面试·职场和发展·跳槽
lixzest17 小时前
PyTorch基础知识简述
人工智能·pytorch·python
飞Link17 小时前
深度学习里程碑:ResNet(残差网络)从理论到实战全解析
人工智能·python·深度学习