46

I first tried:

pip install pyaudio

but I was told that

-bash: pip: command not found

Then I tried:

pip3 install pyaudio

Then I got:

src/_portaudiomodule.c:29:10: fatal error: 'portaudio.h' file not found

#include "portaudio.h"

         ^

1 error generated.

error: command '/usr/bin/clang' failed with exit status 1

----------------------------------------
Command "/Library/Frameworks/Python.framework/Versions/3.4/bin/python3.4 -c "import setuptools, tokenize;__file__='/private/var/folders/77/gz1txkwj2z925vk6jrkx3wp80000gn/T/pip-build-43z_qk7o/pyaudio/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/77/gz1txkwj2z925vk6jrkx3wp80000gn/T/pip-tkf78ih4-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/77/gz1txkwj2z925vk6jrkx3wp80000gn/T/pip-build-43z_qk7o/pyaudio

but I had installed portaudio

brew install portaudio

Warning: portaudio-19.20140130 already installed

So what can I do?

Gino Mempin
  • 25,369
  • 29
  • 96
  • 135
JasonShao
  • 563
  • 1
  • 4
  • 5

11 Answers11

84

I'm assuming you are on a Mac. This is a simple issue to fix.

First install Xcode. Then restart your computer. Afterwards run the commands in sequence,

xcode-select --install
brew remove portaudio
brew install portaudio
pip3 install pyaudio

So to clarify, Xcode is installed through the App Store. Xcode command line tools are required for some installations, for others they are not. I'm including it here just to be on the safe side. You also probably do not need to uninstall and reinstall the formula via Homebrew, I did that to ensure that there would be absolutely no problems.

Edit: I have been told Homebrew requires Xcode. So just run the

xcode-select --install

command to be able to use Clang. Also what version of Mac are you on?

  • I'm pretty sure Homebrew won't install without the command line tools already installed. Also it's written as Xcode not xCode. – m0meni Nov 22 '15 at 04:37
  • 1
    I have Homebrew installed without the developer tools. I just checked. Please double-check your sources before posting inaccurate information @AR7. –  Nov 22 '15 at 04:40
  • Please remove the periods on the ends of lines in the "command sequence". @AR7 the "xcode-select" is required to update the libraries -- found this problem after upgrading to El Captin (10.11.7) of Mac OS. – SaSConsul Jul 16 '16 at 22:47
  • 3
    In case issue still persist use pip install --global-option='build_ext' --global-option='-I/usr/local/include' --global-option='-L/usr/local/lib' pyaudio – Swarit Agarwal Sep 29 '19 at 09:21
  • 2
    I'm having a similar issue. However, the following message appears: #include "portaudio.h" ^~~~~~~~~~~~~ 1 error generated. error: command 'gcc' failed with exit status 1 Do you know what's going wrong? – Carlos Bazilio Feb 08 '21 at 15:13
  • I'm still getting the error after following your instructions. I did notice that when I ran the first command the terminal said Xcode tools were already installed. Anyone know what my issue could be? – John Sorensen May 27 '22 at 16:11
  • If you installed portaudio with homebrew, then you can follow @SwaritAgarwal recommendation but replace "/usr/local" with "/opt/homebrew", or wherever homebrew installed portaudio. However, there are still issues if you are on an M1 mac; see: https://stackoverflow.com/q/68992633/1430829 – Matt Hancock Jun 01 '22 at 00:09
  • @SwaritAgarwal your pip install command worked for me when nothing else had. – fivestones Jul 09 '22 at 16:18
23

None of that worked for me, try instead:

CFLAGS="-I/opt/homebrew/include -L/opt/homebrew/lib" python3 -m pip install pyaudio
Osheroff
  • 381
  • 2
  • 3
10

Steps: I assume you are using a mac osx

  1. download homebrew by pasting this code at any terminal point /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  2. After installing homebrew, install portaudio: brew install portaudio

  3. Finally install pyaudio using pip pip install pyaudio

Note: Ensure you install homebrew if its not already installed

Akhils
  • 301
  • 3
  • 6
7

In case of MacOS

brew install portaudio

pip install --global-option='build_ext' --global-option='-I/usr/local/include' --global-option='-L/usr/local/lib' pyaudio
Prabhat
  • 71
  • 1
  • 4
6

(Im on a M1 MacBook Air) This was the first one working for me

brew install flac
pip uninstall pyaudio 
brew uninstall portaudio
brew update 
brew install portaudio 
python3 -m pip install pyaudio --global-option="build_ext" --global-option="-I/opt/homebrew/include" --global-option="-L/opt/homebrew/lib"
pip install pyaudio
joanis
  • 10,635
  • 14
  • 30
  • 40
Elia Driesner
  • 61
  • 1
  • 2
4

Working with Homebrew failed for me on a Macbook Pro M1.

Instead, I installed portaudio from source http://files.portaudio.com/docs/v19-doxydocs/tutorial_start.html

and used

./configure && make
sudo make install
sudo cp include/pa_mac_os.h /usr/local/include

Obviously, there is a bug in the portaudio package for Mac M1, so I had to add the hack of the copy of the include file.

But then

python3 -m pip install pyaudio

and it worked.

Anthony Tomasic
  • 183
  • 1
  • 6
  • Thank you so much for this answer. I had to do some extra steps and I'm adding it here as a comment if anyone else is looking. Besides copying pa_mac_os.h as shown in answer, you gotta also do: `sudo cp include/portaudio.h /usr/local/include` And finally while running pip install, include the include path using: `pip3 install --global-option=build_ext --global-option="-I/usr/local/include" pyaudio` – Saifur Rahman Mohsin Mar 09 '22 at 15:21
3

Open the Terminal(located in the utilities folder in Applications) and follow the instructions:

With homebrew:

brew install portaudio
pip install pyaudio

Without homebrew:

cd Downloads
curl http://files.portaudio.com/archives/pa_stable_candidate_v190700_rc2_20210331.tgz
tar -xzf pa_stable_candidate_v190700_rc2_20210331.tgz
cd portaudio

pip3 install pyaudio --global-option="build_ext" --global-option="-I$(pwd)/include" --global-option="-L$(pwd)/lib"
2

Steps: I assume you are using a mac osx

download homebrew by pasting this code at any terminal point /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

After installing homebrew, install portaudio: brew install portaudio

Finally install pyaudio using pip pip install pyaudio

Nisarg
  • 1,631
  • 6
  • 19
  • 31
0

For a mac, I think you have to type this into Terminal:

sudo pip install pyaudio

Also, you might have to install Xcode like said in one of the answers.

Nicolas Gervais
  • 33,817
  • 13
  • 115
  • 143
Cindy Y
  • 9
  • 2
0

If you want to install pyaudio in jupyter notebook then follow the below steps. Open the terminal and write the following command:

brew install portaudio
pip install pyaudio

Once the above step is done go to jupyter notebook and execute the below code.

pip install pyaudio
0

I ran into similar issue on macOs Ventura 13.2. Listing error and solution below in case someone else runs into it.

Error:

$ pip3 install pyaudio
Collecting pyaudio
  Using cached PyAudio-0.2.13.tar.gz (46 kB)
  ...
  ...
  Building wheel for pyaudio (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Building wheel for pyaudio (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [20 lines of output]
      Error in sitecustomize; set PYTHONVERBOSE for traceback:
      AssertionError:
      running bdist_wheel
      ...
      ...
      src/pyaudio/device_api.c:9:10: fatal error: 'portaudio.h' file not found
      #include "portaudio.h"
               ^~~~~~~~~~~~~
      1 error generated.
      error: command '/usr/bin/clang' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pyaudio
Failed to build pyaudio
ERROR: Could not build wheels for pyaudio, which is required to install pyproject.toml-based projects

Solution

I just had to do following,

brew install portaudio
pip3 install pyaudio
Anil_M
  • 10,893
  • 6
  • 47
  • 74