First off I am new to python development. I have watched many tutorials and now I am trying to get started. I am having issues installing PyAudio and portaudio.
Here are the errors.
When I do the following command
python -m pip install pyaudio
I get the following error.
src/_portaudiomodule.c(29): fatal error C1083: Cannot open include file: 'portaudio.h': No such file or directory error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX86\x86\cl.exe' failed with exit status 2
---------------------------------------- Command ""C:\Users\This PC\AppData\Local\Programs\Python\Python37-32\python.exe" -u -c "import
setuptools, tokenize;file='C:\Users\THISPC~1\AppData\Local\Temp\pip-install-3ock7jqh\pyaudio\setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record C:\Users\THISPC~1\AppData\Local\Temp\pip-record-14pe9p6y\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\THISPC~1\AppData\Local\Temp\pip-install-3ock7jqh\pyaudio\
So after looking that error up, I read I need to install portaudio. So I did the following command.
python -m pip install portaudio
and I got the following error.
Collecting portaudio Could not find a version that satisfies the requirement portaudio (from versions: ) No matching distribution found for portaudio
I have no idea where to go from here now. Honestly, this is making python seem really annoying. Any help is appreciated.
PyAudio 0.2.11 is not supported for Python 3.7, and trying to install results in the error
C1083: Cannot open include file: 'portaudio.h'
.You must use Python 3.6 with PyAudio 0.2.11.
See http://people.csail.mit.edu/hubert/pyaudio/
portaudio
is not a Python package, it's a C library that's entirely independent of Python, so you can't install it viapip
.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, includingportaudio
.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 thanpip install pyaudio
in the first place. You should really only usepip
for packages that aren't available onconda
orconda-forge
.If you haven't set up
conda-forge
yet, you probably want to do that first:And then, this should be all you need:
Unlike the
pip
package, which just assumes you haveportaudio
installed properly, theconda
package will either automatically installportaudio
as a dependency forpyaudio
, or tell you why it can't.