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

如何解决Python导入cv2时的libpng15共享库导入错误?

解决ImportError: libpng15-c2ffaf3d.so.15.13.0找不到的问题

我之前碰到过类似的OpenCV依赖不兼容的坑,给你几个可行的排查和解决方向:

  • 先排查库文件是否存在
    首先用查找命令确认系统里有没有这个特定的libpng库文件:

    sudo find / -name "libpng15*.so*"
    

    如果找到对应的文件,比如路径是/usr/local/lib,就把这个路径添加到动态库加载路径里:

    export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
    

    要是想永久生效,可以把上面的命令添加到~/.bashrc或者~/.zshrc文件末尾,然后执行source ~/.bashrc刷新配置。

  • 从源码编译OpenCV(适配系统依赖)
    系统apt安装的OpenCV可能和当前系统的libpng版本不匹配,源码编译可以自动适配本地依赖:

    1. 先卸载之前通过apt安装的OpenCV包:
      sudo apt remove --purge libopencv-dev python3-opencv
      
    2. 安装编译所需的基础依赖:
      sudo apt install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
      
    3. 克隆OpenCV和扩展模块(如果需要YOLO相关的额外功能):
      git clone https://github.com/opencv/opencv.git
      git clone https://github.com/opencv/opencv_contrib.git
      
    4. 进入OpenCV目录创建编译文件夹并配置cmake:
      cd opencv && mkdir build && cd build
      cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules -D BUILD_EXAMPLES=OFF ..
      
    5. 编译并安装:
      make -j$(nproc)
      sudo make install
      
    6. 最后更新系统库缓存:
      sudo ldconfig
      
  • 改用pip安装opencv-python(自带依赖)
    如果是Python环境的问题(比如用了虚拟环境),直接用pip安装预编译的opencv-python包,它自带了所有需要的依赖库,不会依赖系统的libpng:

    pip install opencv-python
    

    要是需要YOLOv4用到的额外模块,也可以安装opencv-contrib-python:

    pip install opencv-contrib-python
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 13:52:45