when installing pyaudio, pip cannot find portaudio.h in /usr/local/include
Since pyAudio
has portAudio
as a dependency, you first have to install portaudio.
brew install portaudio
Then try: pip install pyAudio
. If the problem persists after installing portAudio
, you can specify the directory path where the compiler will be able to find the source programs (e.g: portaudio.h
). Since the headers should be in the /usr/local/include
directory:
pip install --global-option='build_ext' --global-option='-I/usr/local/include' --global-option='-L/usr/local/lib' pyaudio
PyAudio installation always fails on Mac
Very likely you need to specify the directory path where the compiler can find the source programs like portaudio.h
.
Under assumption that the headers are in /usr/local/include
directory, try to run the below command in the Terminal:
pip install --global-option='build_ext' --global-option='-I/usr/local/include' --global-option='-L/usr/local/lib' pyaudio
Unable to install PyAudio on M1 Mac [PortAudio already installed]
This Solution is tested on M1 Macs[Please do check with other].
After the installation of HomeBrew on your system, perform the installation of PortAudio. Next follow the steps mentioned below:
Use the command to install PortAudio
sudo brew install portaudio
After successful installation of PortAudio, enter the following command.
sudo nano $HOME/.pydistutils.cfg
Next, enter the following lines in the opened window
[build_ext]
include_dirs=/Users/<enter-your-system-username>/homebrew/Cellar/portaudio/19.20140130/include/
include_dirs=/Users/<enter-your-system-username>/homebrew/Cellar/portaudio/19.20140130/lib/
Note: PortAudio location may be different for you and also don't forget to replace your PC username.
Finally run the command
pip install pyaudio
or
pip3 install pyaudio
How to fix installation issues for PyAudio, PortAudio: fatal error C1083: Cannot open include file: 'portaudio.h': No such file or directory
portaudio
is not a Python package, it's a C library that's entirely independent of Python, so you can't install it via pip
.
See the PortAudio for website for details on the official way to get it and install it on your platform.
AFAIK, the official way to get it on Windows is to download the source and then follow the instructions in the Tutorial for compiling it yourself. You probably want to build it with the same compiler you use for Python C extensions, although I'm not sure if that's required.
Or, if you're using a third-party package manager like Chocolatey on Windows, there's a good chance it can install PortAudio.
Or, if you use Anaconda or Miniconda for your Python, the conda
package manager knows how to install non-Python packages that Python packages depend on, including portaudio
.
Finally, there seem to be a number of people providing unofficial pre-compiled PortAudio binaries for Windows. If you search for "portaudio windows binary" or "portaudio windows pre-compiled" you'll find a number of them. I have no idea how well-tested, up-to-date, etc. any of these are.
If you're using Anaconda/Miniconda, you should have used conda install pyaudio
rather than pip install pyaudio
in the first place. You should really only use pip
for packages that aren't available on conda
or conda-forge
.
If you haven't set up conda-forge
yet, you probably want to do that first:
conda config --add channels conda-forge
And then, this should be all you need:
conda install pyaudio
Unlike the pip
package, which just assumes you have portaudio
installed properly, the conda
package will either automatically install portaudio
as a dependency for pyaudio
, or tell you why it can't.
Related Topics
How to Set Headers Using Python's Urllib
Combining Two Series into a Dataframe in Pandas
How to Get Element-Wise Matrix Multiplication (Hadamard Product) in Numpy
Why Is the Empty Dictionary a Dangerous Default Value in Python
How to Draw Axis in the Middle of the Figure
Panda's Dataframe - Renaming Multiple Identically Named Columns
Cannot Use Geometry Manager Pack Inside
How to Get a Single Result from a SQL Query in Python
How to Fix "Importerror: Dll Load Failed" While Importing Win32Api
Python - Initializing Multiple Lists/Line
How to Change the Host and Port That the Flask Command Uses
How to Trace the Path in a Breadth-First Search
How to Avoid "Permission Denied" When Using Pip with Virtualenv
Importerror: No Module Named 'Bottle' - Pycharm
Go to a Specific Line in Python
How to Change the Datetime Tick Label Frequency for Matplotlib Plots