pyaudio could not import _portaudio

前端 未结 4 1061
再見小時候
再見小時候 2020-12-17 18:25

Trying to run python app that uses pyaudio. Using virtualenv and installations are working. However when running it can\'t find portaudio. But the _portaudio.so file exists.

相关标签:
4条回答
  • 2020-12-17 18:36

    Pip unistall pyaudio Pipwin install pyaudio For windows machine

    0 讨论(0)
  • 2020-12-17 18:53

    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:

    1. Uninstall python-pyaudio with sudo apt-get purge --remove python-pyaudio if you have it (This is version 0.2.8)
    2. Download the latest version (19) of PortAudio.
    3. Untar and install PortAudio
      • ./configure
      • make
      • make install
    4. Get the dependencies for pyaudio
      • portaudio19-dev
      • python-all-dev (python3-all-dev for Python 3)
    5. sudo pip install pyaudio

    After that, I was able to use pyaudio.

    0 讨论(0)
  • 2020-12-17 18:53

    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
    0 讨论(0)
  • 2020-12-17 18:54

    This worked for me

    conda install -c anaconda portaudio
    
    0 讨论(0)
提交回复
热议问题