pyaudio could not import _portaudio
This worked for me
conda install -c anaconda portaudio
For linux users you may get something like this after you install portaudio
Libraries have been installed in:
/usr/local/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the `LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the `LD_RUN_PATH' environment variable
during linking
- use the `-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to `/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
PortAudio was successfully installed.
On some systems (e.g. Linux) you should run 'ldconfig' now
to make the shared object available. You may also need to
modify your LD_LIBRARY_PATH environment variable to include
the directory /usr/local/lib
So, I would like to add the below commands as step number 4, following the steps in above answer by Wehrdo.
sudo ldconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/custom/path/" >> ~/.bashrc
The issue isn't that it can't find the library, but that the library is missing a function that is needed. (source code). I ran into the same problem, and believe the issue stems from building with the wrong version of portaudio-dev
.
What you need to do:
- Uninstall python-pyaudio with
sudo apt-get purge --remove python-pyaudio
if you have it (This is version 0.2.8) - Download the latest version (19) of PortAudio.
- Untar and install PortAudio
./configure
make
make install
- Get the dependencies for pyaudio
portaudio19-dev
python-all-dev
(python3-all-dev
for Python 3)
sudo pip install pyaudio
After that, I was able to use pyaudio.