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

PyAV安装失败:无法构建av wheels及编译错误求助

PyAV 安装失败问题

尝试了以下两种命令安装PyAV均失败:

  • pip install av
  • pip install av --no-binary av

此前已按照官方文档推荐安装了所有系统依赖:

# 通用依赖
sudo apt-get install -y python-dev pkg-config

# 库组件
sudo apt-get install -y \
    libavformat-dev libavcodec-dev libavdevice-dev \
    libavutil-dev libswscale-dev libswresample-dev libavfilter-dev

首次安装遇到的错误:

...

 4-3.6/av/video
  copying av/video/format.pxd -> build/lib.linux-x86_64-3.6/av/video
  copying av/data/__init__.pxd -> build/lib.linux-x86_64-3.6/av/data
  copying av/data/stream.pxd -> build/lib.linux-x86_64-3.6/av/data
  copying av/sidedata/sidedata.pxd -> build/lib.linux-x86_64-3.6/av/sidedata
  copying av/sidedata/__init__.pxd -> build/lib.linux-x86_64-3.6/av/sidedata
  copying av/sidedata/motionvectors.pxd -> build/lib.linux-x86_64-3.6/av/sidedata
  copying av/audio/codeccontext.pxd -> build/lib.linux-x86_64-3.6/av/audio
  copying av/audio/plane.pxd -> build/lib.linux-x86_64-3.6/av/audio
  copying av/audio/__init__.pxd -> build/lib.linux-x86_64-3.6/av/audio
  copying av/audio/frame.pxd -> build/lib.linux-x86_64-3.6/av/audio
  copying av/audio/fifo.pxd -> build/lib.linux-x86_64-3.6/av/audio
  copying av/audio/resampler.pxd -> build/lib.linux-x86_64-3.6/av/audio
  copying av/audio/stream.pxd -> build/lib.linux-x86_64-3.6/av/audio
  copying av/audio/layout.pxd -> build/lib.linux-x86_64-3.6/av/audio
  copying av/audio/format.pxd -> build/lib.linux-x86_64-3.6/av/audio
  copying av/subtitles/codeccontext.pxd -> build/lib.linux-x86_64-3.6/av/subtitles
  copying av/subtitles/subtitle.pxd -> build/lib.linux-x86_64-3.6/av/subtitles
  copying av/subtitles/__init__.pxd -> build/lib.linux-x86_64-3.6/av/subtitles
  copying av/subtitles/stream.pxd -> build/lib.linux-x86_64-3.6/av/subtitles
  running build_ext
  building 'av.error' extension
  creating build/temp.linux-x86_64-3.6
  creating build/temp.linux-x86_64-3.6/src
  creating build/temp.linux-x86_64-3.6/src/av
  x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/x86_64-linux-gnu -I/datadrive/mikel/venvs/scs/include -I/usr/include/python3.6m -c src/av/error.c -o build/temp.linux-x86_64-3.6/src/av/error.o
  src/av/error.c:54:10: fatal error: Python.h: No such file or directory
   #include "Python.h"
            ^~~~~~~~~~
  compilation terminated.
  error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for av
Failed to build av
ERROR: Could not build wheels for av, which is required to install pyproject.toml-based projects

怀疑缺少某些系统依赖,但无法确定具体是哪些。


编辑1

执行以下命令安装Python3开发依赖后:

sudo apt-get install -y python3-dev

出现新的编译错误:

building 'av.codec.codec' extension
  creating build/temp.linux-x86_64-3.6/src/av/codec
  x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/x86_64-linux-gnu -I/datadrive/mikel/venvs/scs/include -I/usr/include/python3.6m -c src/av/codec/codec.c -o build/temp.linux-x86_64-3.6/src/av/codec/codec.o
  src/av/codec/codec.c: In function ‘__pyx_f_2av_5codec_5codec_get_codec_names’:
  src/av/codec/codec.c:4114:19: warning: implicit declaration of function ‘av_codec_iterate’; did you mean ‘av_codec_next’? [-Wimplicit-function-declaration]
       __pyx_v_ptr = av_codec_iterate((&__pyx_v_opaque));
                     ^~~~~~~~~~~~~~~~
                     av_codec_next
  src/av/codec/codec.c:4114:17: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
       __pyx_v_ptr = av_codec_iterate((&__pyx_v_opaque));
                   ^
  src/av/codec/codec.c: In function ‘__pyx_pymod_exec_codec’:
  src/av/codec/codec.c:6226:36: error: ‘AV_CODEC_CAP_HARDWARE’ undeclared (first use in this function); did you mean ‘AV_CODEC_CAP_DR1’?
     __pyx_t_7 = __Pyx_PyInt_From_int(AV_CODEC_CAP_HARDWARE); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 121, __pyx_L1_error)
                                      ^~~~~~~~~~~~~~~~~~~~~
                                      AV_CODEC_CAP_DR1
  src/av/codec/codec.c:6226:36: note: each undeclared identifier is reported only once for each function it appears in
  src/av/codec/codec.c:6247:36: error: ‘AV_CODEC_CAP_HYBRID’ undeclared (first use in this function); did you mean ‘AV_CODEC_CAP_DR1’?
     __pyx_t_7 = __Pyx_PyInt_From_int(AV_CODEC_CAP_HYBRID); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 121, __pyx_L1_error)
                                      ^~~~~~~~~~~~~~~~~~~
                                      AV_CODEC_CAP_DR1
  error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for av
Failed to build av
ERROR: Could not build wheels for av, which is required to install pyproject.toml-based projects

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 04:45:14