PyAV-Org / PyAV

Pythonic bindings for FFmpeg's libraries.
https://pyav.basswood-io.com/
BSD 3-Clause "New" or "Revised" License
2.47k stars 360 forks source link

Issue when installing PyAV on Linux #697

Closed Odianosen25 closed 4 years ago

Odianosen25 commented 4 years ago

Overview

Cannot install pyav on a Linux machine, but installed fine on Windows

Expected behavior

Installed on Linux

Actual behavior

It refuses to install neither on Alpine nor Ubuntu

Build report:

Running setup.py install for av ... error
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-tdmvuj_a/av/setup.py'"'"'; __file__='"'"'/tmp/pip-install-tdmvuj_a/av/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-epc_s7v9/install-record.txt --single-version-externally-managed --compile --install-headers /usr/include/python3.8/av
         cwd: /tmp/pip-install-tdmvuj_a/av/
    Complete output (48 lines):
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.8
    creating build/lib.linux-x86_64-3.8/av
    copying av/__init__.py -> build/lib.linux-x86_64-3.8/av
    copying av/__main__.py -> build/lib.linux-x86_64-3.8/av
    copying av/deprecation.py -> build/lib.linux-x86_64-3.8/av
    copying av/datasets.py -> build/lib.linux-x86_64-3.8/av
    creating build/lib.linux-x86_64-3.8/av/data
    copying av/data/__init__.py -> build/lib.linux-x86_64-3.8/av/data
    creating build/lib.linux-x86_64-3.8/av/container
    copying av/container/__init__.py -> build/lib.linux-x86_64-3.8/av/container
    creating build/lib.linux-x86_64-3.8/av/video
    copying av/video/__init__.py -> build/lib.linux-x86_64-3.8/av/video
    creating build/lib.linux-x86_64-3.8/av/subtitles
    copying av/subtitles/__init__.py -> build/lib.linux-x86_64-3.8/av/subtitles
    creating build/lib.linux-x86_64-3.8/av/audio
    copying av/audio/__init__.py -> build/lib.linux-x86_64-3.8/av/audio
    creating build/lib.linux-x86_64-3.8/av/codec
    copying av/codec/__init__.py -> build/lib.linux-x86_64-3.8/av/codec
    creating build/lib.linux-x86_64-3.8/av/sidedata
    copying av/sidedata/__init__.py -> build/lib.linux-x86_64-3.8/av/sidedata
    creating build/lib.linux-x86_64-3.8/av/filter
    copying av/filter/__init__.py -> build/lib.linux-x86_64-3.8/av/filter
    running build_ext
    running config
    PyAV: 8.0.2 (unknown commit)
    Python: 3.8.5 (default, Jul 20 2020, 23:08:58) \n[GCC 9.3.0]
    platform: Linux-4.15.0-112-generic-x86_64-with
    extension_extra:
        include_dirs: [b'include']
        libraries: []
        library_dirs: []
        define_macros: []
        runtime_library_dirs: []
    config_macros:
        PYAV_COMMIT_STR="unknown-commit"
        PYAV_VERSION=8.0.2
        PYAV_VERSION_STR="8.0.2"
    Could not find libavformat with pkg-config.
    Could not find libavcodec with pkg-config.
    Could not find libavdevice with pkg-config.
    Could not find libavutil with pkg-config.
    Could not find libavfilter with pkg-config.
    Could not find libswscale with pkg-config.
    Could not find libswresample with pkg-config.
    ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-tdmvuj_a/av/setup.py'"'"'; __file__='"'"'/tmp/pip-install-tdmvuj_a/av/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-epc_s7v9/install-record.txt --single-version-externally-managed --compile --install-headers /usr/include/python3.8/av Check the logs for full command output.

Investigation

Well I did have FFmpeg installed already, and even using the --no-binary, was still same

Reproduction

pip3 install av on Alpine Linux

Versions

Research

I have done the following:

Additional context

I am trying to use aiortc for a project within an Alpine Linux docker container, and this is the only aspect wanting

Odianosen25 commented 4 years ago

In case others have similar issues, need to install ffmpeg-dev and it all works great