简体   繁体   中英

How to install pyaudio on mac using Python 3?

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?

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?

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

(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

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.

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

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"

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.

在 MacOS 的情况下

brew install portaudio

pip install --global-option='build_ext' --global-option='-I/usr/local/include' --global-option='-L/usr/local/lib' pyaudio

None of that worked for me, try instead:

CFLAGS="-I/opt/homebrew/include -L/opt/homebrew/lib" python3 -m pip install pyaudio

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

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