2016-02-29 11 views
10

Sto cercando di installare pyaudio con pip:Installazione pyaudio con pip in una virtualenv

pip install pyaudio 

In un virtualenv ma sto ottenendo un errore:

error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 

intera produzione:

Collecting pyaudio 
    Using cached PyAudio-0.2.9.tar.gz 
Building wheels for collected packages: pyaudio 
    Running setup.py bdist_wheel for pyaudio ... error 
    Complete output from command /home/mertyildiran/Downloads/VirtualEnvironment/vir1/Cerebrum/ENV/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-GCltlv/pyaudio/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /tmp/tmpyR6J73pip-wheel- --python-tag cp27: 
    running bdist_wheel 
    running build 
    running build_py 
    creating build 
    creating build/lib.linux-x86_64-2.7 
    copying src/pyaudio.py -> build/lib.linux-x86_64-2.7 
    running build_ext 
    building '_portaudio' extension 
    creating build/temp.linux-x86_64-2.7 
    creating build/temp.linux-x86_64-2.7/src 
    x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c src/_portaudiomodule.c -o build/temp.linux-x86_64-2.7/src/_portaudiomodule.o 
    src/_portaudiomodule.c:29:23: fatal error: portaudio.h: No such file or directory 
    #include "portaudio.h" 
         ^
    compilation terminated. 
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 

    ---------------------------------------- 
    Failed building wheel for pyaudio 
    Running setup.py clean for pyaudio 
Failed to build pyaudio 
Installing collected packages: pyaudio 
    Running setup.py install for pyaudio ... error 
    Complete output from command /home/mertyildiran/Downloads/VirtualEnvironment/vir1/Cerebrum/ENV/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-GCltlv/pyaudio/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-icMIUV-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/mertyildiran/Downloads/VirtualEnvironment/vir1/Cerebrum/ENV/include/site/python2.7/pyaudio: 
    running install 
    running build 
    running build_py 
    creating build 
    creating build/lib.linux-x86_64-2.7 
    copying src/pyaudio.py -> build/lib.linux-x86_64-2.7 
    running build_ext 
    building '_portaudio' extension 
    creating build/temp.linux-x86_64-2.7 
    creating build/temp.linux-x86_64-2.7/src 
    x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c src/_portaudiomodule.c -o build/temp.linux-x86_64-2.7/src/_portaudiomodule.o 
    src/_portaudiomodule.c:29:23: fatal error: portaudio.h: No such file or directory 
    #include "portaudio.h" 
         ^
    compilation terminated. 
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 

    ---------------------------------------- 
Command "/home/mertyildiran/Downloads/VirtualEnvironment/vir1/Cerebrum/ENV/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-GCltlv/pyaudio/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-icMIUV-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/mertyildiran/Downloads/VirtualEnvironment/vir1/Cerebrum/ENV/include/site/python2.7/pyaudio" failed with error code 1 in /tmp/pip-build-GCltlv/pyaudio 

Cosa sto sbagliando? Sono nuovo in virtualenvs.

* Sono in grado di installare altri pacchetti. Sto affrontando un errore solo per il pacchetto pyaudio.

Tra l'altro io sono nell'ambiente:

(ENV) [email protected]:~/Downloads/VirtualEnvironment/vir1/MyProject$ 
+1

se sei su ubuntu 'sudo apt-get install libasound-dev' - http://portaudio.com/docs/v19-doxydocs/compile_linux.html – dm03514

+0

Sono in virtualenv probabilmente questo pacchetto non è installato sul mio virtualenv. Come posso installare questo pacchetto su virtualenv? Normalmente sono in grado di installare pyaudio da pip. Ma io sono in virtualenv. – mertyildiran

+0

@ dm03514 D'altra parte c'è un modo per installare solo usando pip. Perché sto preparando un pacchetto per la distribuzione. – mertyildiran

risposta

9

Alcuni pacchetti richiedono il sostegno della non-Python software, come librerie condivise. Questi non possono essere installati tramite pip (non sono pacchetti Python!). In genere, installa questi sull'host utilizzando il gestore di pacchetti dell'host (apt-get o yum o dnf, ecc.) Oppure si utilizza qualcosa come Docker per incapsulare sia le dipendenze che l'applicazione.

Nel tuo caso, pyaudio richiede un numero di librerie, incluso almeno portaudio. Dovrai installare i pacchetti di sviluppo appropriati sul tuo sistema, come suggerito nei commenti sulla tua domanda.

+0

Perché c'è un pacchetto per pyaudio allora? https://pypi.python.org/pypi/PyAudio – mertyildiran

+0

Oppure puoi suggerirmi un pacchetto diverso con la stessa funzionalità e l'installazione di pip? – mertyildiran

+0

Praticamente qualsiasi pacchetto che fornisce supporto audio richiederà ulteriori librerie di terze parti. C'è un pacchetto per PyAudio perché è un pacchetto Python. La libreria 'portaudio' che richiede non lo è. – larsks

13

Questo ha funzionato per me, ho avuto lo stesso problema:

se si desidera installare PyAudio all'interno di un virtualenv, installare gli header di sviluppo PortAudio da APT, quindi PyAudio:

sudo apt-get install portaudio19-dev 
pip install --allow-unverified=pyaudio pyaudio 

https://pyspotify.mopidy.com/en/latest/api/sink/

+0

ha funzionato perfettamente. – ShivaGuntuku

+0

ha funzionato .... grazie mille ... – vishwakarma09

+0

Questo ha funzionato, non c'era nemmeno bisogno di fare il tag --allow-non verificato –

Problemi correlati