简体   繁体   中英

Can't install PyAudio on GAE Flexible Environment(Python)

So I am having quite a few issues getting this flask backend up. It is pretty standard stuff apart from some logic that recognizes audio delivered from the frontend. To do this, I incorporate PyDejaVu.

One of the dependencies(PyAudio) is not building correctly. Everything else is good to go.

Here are some logs:

Step #1:    #include "portaudio.h"
Step #1:                          ^
Step #1:   compilation terminated.
Step #1:   error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
Step #1:   Failed building wheel for PyAudio

and

Command "/env/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-arQ8b7/PyAudio/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-4yefCE-record/install-record.txt --single-version-externally-managed --compile --install-headers /env/include/site/python2.7/PyAudio" failed with error code 1 in /tmp/pip-build-arQ8b7/PyAudio/
Step #1: The command '/bin/sh -c pip install -r requirements.txt' returned a non-zero code: 1
Finished Step #1
ERROR
ERROR: build step 1 "gcr.io/cloud-builders/docker@sha256:0d9f13d75152530e2ee49bf3a3be3d6198b946f7315b3961994355a7aaee2925" failed: exit status 1
Step #1: 
------------

requirements.txt

PyAudio==0.2.9
PyDejaVu==0.1.3
werkzeug==0.14.1
flask-cors==2.1.2
flask-login==0.3.2
flask-oauthlib==0.9.2
flask-restful==0.3.5
flask-wtf==0.12
flask==0.12.2
flask-sqlalchemy==0.9
numpy==1.13.3
gunicorn==19.7.1

I followed the errors and apparently I have to install port-audio via apt-get but that obviously is not possible.

Any help is appreciated!

Since App Engine flex is based on docker you'll have to install dependencies from the Dockerfile. In this case you'd have to customize the App Engine Python Dockerfile to add all the libraries PyAudio might need. You could look at some Dockerfiles containing PyAudio Sample1 & Sample2 .

I could go over the error by adding the following dependencies and libraries in the Dockerfile:

RUN apt-get update && apt-get install -y \
        vim \
        curl \
        wget \
        git \
        make \
        netcat \
        python \
        python2.7-dev \
        g++ \
        bzip2 \
        binutils
###############################################################################
RUN apt-get install -y portaudio19-dev libopenblas-base libopenblas-dev pkg-config git-core cmake python-dev liblapack-dev libatlas-base-dev libblitz0-dev libboost-all-dev libhdf5-serial-dev libqt4-dev libsvm-dev libvlfeat-dev  python-nose python-setuptools python-imaging build-essential libmatio-dev python-sphinx python-matplotlib python-scipy
# additional dependencies
RUN apt-get install -y \
        libasound2 \
        libasound-dev \
        libssl-dev

RUN pip install pyaudio

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM