Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Having trouble installing PyAudio for Python3 on Mint

I was following the instructions here and I'm having trouble getting the installation to work. Basically, the first part works fine. I downloaded portaudio, followed the instructions, and it all seemed to work.

However, when I triedpython3 setup.py install, I got an error. The error came from the /src/_portaudiomodule.c file, and it said that "The file Python.h could not be found". I don't really understand what's going on because there was no Python.h file when I extracted the PyAudio archive. I don't know where the Python.h file was supposed to come from.

I'm kind of a noob to unix systems so I could have easily made a mistake somewhere. I've been trying to solve this for hours and I've had no luck so far. Thanks in advance for your help!

like image 252
user3047641 Avatar asked Oct 01 '15 04:10

user3047641


2 Answers

To install the latest version of pyaudio using conda:

source activate -your environment name-

pip install pyaudio

You may run into the following error when installing from pip:

src/_portaudiomodule.c:29:23: fatal error: portaudio.h: No such file or directory
 #include "portaudio.h" 
 compilation terminated.
 error: command 'gcc' failed with exit status 1

That is because you don't have the PortAudio development package installed. Install it with:

sudo apt-get install portaudio19-dev
like image 149
Tomas Ruiz Avatar answered Sep 19 '22 10:09

Tomas Ruiz


You don't need to compile pyaudio. To install PyAudio, run:

$ sudo add-apt-repository universe
$ sudo apt-get install python-pyaudio python3-pyaudio

The first command enables Universe Ubuntu repository.

If you want to compile it e.g., to use the latest version from git; install build dependencies:

$ sudo apt-get build-dep python-pyaudio python3-pyaudio

After that, you could install it from sources using pip:

$ python3 -mpip install pyaudio

Or to install the current version from git:

$ pip install -e git+http://people.csail.mit.edu/hubert/git/pyaudio.git#egg=pyaudio

Run pip commands inside a virtualenv or add --user command-line option, to avoid modifying the global python3 installation (leave it to the package manager).

I've tested it on Ubuntu. Let me know if it fails on Mint.

like image 44
jfs Avatar answered Sep 18 '22 10:09

jfs