You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyCharm中依赖cv2/imutils的Flask应用遇NumPy版本兼容错误

问题:Flask应用导入cv2/imutils时出现NumPy版本兼容错误

在PyCharm中开发依赖cv2和imutils的Flask应用,执行以下导入语句时触发报错:

import imutils
import cv2 

报错回溯信息

Traceback (most recent call last):  File "C:\Users\mohit\OneDrive\Desktop\Front End\Flask\pythonProject1\tut2.py", line 8, in <module>
    import imutils
  File "C:\Users\mohit\OneDrive\Desktop\Front End\Flask\pythonProject1\.venv\Lib\site-packages\imutils\__init__.py", line 8, in <module>
    from .convenience import translate
  File "C:\Users\mohit\OneDrive\Desktop\Front End\Flask\pythonProject1\.venv\Lib\site-packages\imutils\convenience.py", line 6, in <module>
    import cv2
  File "C:\Users\mohit\OneDrive\Desktop\Front End\Flask\pythonProject1\.venv\Lib\site-packages\cv2\__init__.py", line 181, in <module>
    bootstrap()
  File "C:\Users\mohit\OneDrive\Desktop\Front End\Flask\pythonProject1\.venv\Lib\site-packages\cv2\__init__.py", line 153, in bootstrap
    native_module = importlib.import_module("cv2")
  File "C:\Program Files\Python312\Lib\importlib\__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
AttributeError: _ARRAY_API not found
Traceback (most recent call last):
  File "C:\Users\mohit\OneDrive\Desktop\Front End\Flask\pythonProject1\tut2.py", line 8, in <module>
    import imutils
  File "C:\Users\mohit\OneDrive\Desktop\Front End\Flask\pythonProject1\.venv\Lib\site-packages\imutils\__init__.py", line 8, in <module>
    from .convenience import translate
  File "C:\Users\mohit\OneDrive\Desktop\Front End\Flask\pythonProject1\.venv\Lib\site-packages\imutils\convenience.py", line 6, in <module>
    import cv2
  File "C:\Users\mohit\OneDrive\Desktop\Front End\Flask\pythonProject1\.venv\Lib\site-packages\cv2\__init__.py", line 181, in <module>
    bootstrap()
  File "C:\Users\mohit\OneDrive\Desktop\Front End\Flask\pythonProject1\.venv\Lib\site-packages\cv2\__init__.py", line 153, in bootstrap
    native_module = importlib.import_module("cv2")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Python312\Lib\importlib\__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ImportError: numpy.core.multiarray failed to import

系统提示信息

使用NumPy 1.x编译的模块无法在NumPy 2.0.0中运行,可能会崩溃。要同时支持NumPy 1.x和2.x版本,模块必须使用NumPy 2.0编译。部分模块可能需要重新构建,例如使用'pybind11>=2.12'。

如果您是模块用户,最简单的解决方案是降级到'numpy<2',或尝试升级受影响的模块。我们预计部分模块需要时间来支持NumPy 2。

解决方案

  • 降级NumPy到1.x版本:cv2(opencv-python)和imutils目前对NumPy 2.0的支持不完善,降级是最直接的解决方法。在项目虚拟环境中执行:
    pip install numpy<2
    
  • 验证PyCharm虚拟环境配置:通过File > Settings > Project: pythonProject1 > Python Interpreter确认使用的是项目下的.venv虚拟环境,避免使用全局Python环境导致依赖冲突。
  • 重新安装依赖库:降级NumPy后,卸载并重新安装cv2和imutils,确保它们适配当前NumPy版本:
    pip uninstall opencv-python imutils -y
    pip install opencv-python imutils
    
  • 尝试降级Python版本:Python 3.12与NumPy 2.0的组合兼容问题较多,若上述方法无效,可将Python降级到3.11版本,重新创建虚拟环境并安装所有依赖。

内容的提问来源于stack exchange,提问作者Mohit Gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 08:57:39