@ TOC
Problemas al instalar PyAudio en el nuevo sistema Ubuntu20.04
Instalé un nuevo sistema Ubuntu usando una máquina virtual VMware. La instalación de configuración predeterminada utilizada puede haber adoptado la instalación mínima por defecto, por lo que faltaban algunas de las dependencias del sistema, lo que generaba muchos problemas al configurar el entorno.
método normal
En primer lugar, si usa pip para instalar pyaudio directamente, básicamente obtendrá un error debido a la falta de dependencias relevantes, por lo que deberá instalarlo. Tenga en cuenta que portaudio19-dev
esto debe instalarse usando apt, que instalará las dependencias relevantes. :
sudo apt-get install portaudio19-dev
En circunstancias normales, no se informará ningún error al instalar pyaudio:
pip install pyaudio
instalación de conda
Hay otro método de instalación. Usar directamente conda para instalar puede resolver la mayoría de los problemas de dependencia. Definitivamente es más confiable que la instalación de pip. Solo necesita reemplazar la fuente de la imagen y puede usarla felizmente.
conda install pyaudio
Durante las pruebas reales, se instaló automáticamente una biblioteca relacionada con portaudio, pero no se registraron capturas de pantalla en ese momento y se instaló en el entorno virtual WSL2.
Como todos sabemos, el entorno de instalación predeterminado de WSL2 no admite tarjetas de sonido USB normales u otros controladores de audio. El entorno predeterminado actual solo resuelve el problema de visualización de la GUI. Si desea reproducir audio en tiempo real, debe utilizar la transferencia de red. Por eso abandoné WSL2 por Ubuntu. Razones para elegir VMware.
La cuestión clave
La razón por la que grabo este blog es para recordarles a todos que se informa un error al instalar PyAudio:
Failed to build pyaudio
ERROR: Could not build wheels for pyaudio, which is required to install pyproject.toml-based projects
No es necesariamente solo portaudio19-dev
la dependencia. Después de instalar la dependencia, el mensaje de error que apareció es el siguiente:
Building wheels for collected packages: pyaudio
Building wheel for pyaudio (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for pyaudio (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [14 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-cpython-311
creating build/lib.linux-x86_64-cpython-311/pyaudio
copying src/pyaudio/__init__.py -> build/lib.linux-x86_64-cpython-311/pyaudio
running build_ext
building 'pyaudio._portaudio' extension
creating build/temp.linux-x86_64-cpython-311
creating build/temp.linux-x86_64-cpython-311/src
creating build/temp.linux-x86_64-cpython-311/src/pyaudio
gcc -pthread -B /home/he/miniconda3/envs/TTS/compiler_compat -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /home/he/miniconda3/envs/TTS/include -fPIC -O2 -isystem /home/he/miniconda3/envs/TTS/include -fPIC -I/usr/local/include -I/usr/include -I/home/he/miniconda3/envs/TTS/include/python3.11 -c src/pyaudio/device_api.c -o build/temp.linux-x86_64-cpython-311/src/pyaudio/device_api.o
error: command 'gcc' failed: No such file or directory
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for pyaudio
Failed to build pyaudio
ERROR: Could not build wheels for pyaudio, which is required to install pyproject.toml-based projects
Preste atención a los puntos clave del mensaje de error: error: el comando 'gcc' falló: no existe tal archivo o directorio. ¡
Realmente no esperaba que después de instalar Ubuntu, no hubiera gcc de forma predeterminada! ! !
sudo apt-get install g++
Efectivamente, al desarrollar, aún debe tener más cuidado. Si no leyó atentamente el mensaje de error antes, perdió mucho tiempo.