Установка pyaudio с пипсом в virtualenv

Я пытаюсь установить pyaudio с помощью pip:

pip install pyaudio

В virtualenv, но я получаю сообщение об ошибке:

error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Весь вывод:

Collecting pyaudio
  Using cached PyAudio-0.2.9.tar.gz
Building wheels for collected packages: pyaudio
  Running setup.py bdist_wheel for pyaudio ... error
  Complete output from command /home/mertyildiran/Downloads/VirtualEnvironment/vir1/Cerebrum/ENV/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-GCltlv/pyaudio/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" bdist_wheel -d /tmp/tmpyR6J73pip-wheel- --python-tag cp27:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-2.7
  copying src/pyaudio.py -> build/lib.linux-x86_64-2.7
  running build_ext
  building '_portaudio' extension
  creating build/temp.linux-x86_64-2.7
  creating build/temp.linux-x86_64-2.7/src
  x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c src/_portaudiomodule.c -o build/temp.linux-x86_64-2.7/src/_portaudiomodule.o
  src/_portaudiomodule.c:29:23: fatal error: portaudio.h: No such file or directory
   #include "portaudio.h"
                         ^
  compilation terminated.
  error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

  ----------------------------------------
  Failed building wheel for pyaudio
  Running setup.py clean for pyaudio
Failed to build pyaudio
Installing collected packages: pyaudio
  Running setup.py install for pyaudio ... error
    Complete output from command /home/mertyildiran/Downloads/VirtualEnvironment/vir1/Cerebrum/ENV/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-GCltlv/pyaudio/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-icMIUV-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/mertyildiran/Downloads/VirtualEnvironment/vir1/Cerebrum/ENV/include/site/python2.7/pyaudio:
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-2.7
    copying src/pyaudio.py -> build/lib.linux-x86_64-2.7
    running build_ext
    building '_portaudio' extension
    creating build/temp.linux-x86_64-2.7
    creating build/temp.linux-x86_64-2.7/src
    x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c src/_portaudiomodule.c -o build/temp.linux-x86_64-2.7/src/_portaudiomodule.o
    src/_portaudiomodule.c:29:23: fatal error: portaudio.h: No such file or directory
     #include "portaudio.h"
                           ^
    compilation terminated.
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

    ----------------------------------------
Command "/home/mertyildiran/Downloads/VirtualEnvironment/vir1/Cerebrum/ENV/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-GCltlv/pyaudio/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-icMIUV-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/mertyildiran/Downloads/VirtualEnvironment/vir1/Cerebrum/ENV/include/site/python2.7/pyaudio" failed with error code 1 in /tmp/pip-build-GCltlv/pyaudio

Что я делаю неправильно? Я новичок в virtualenvs.

* Я могу установить другие пакеты. Я столкнулся с ошибкой только для пакета pyaudio.

Кстати, я в среде:

(ENV) [email protected]:~/Downloads/VirtualEnvironment/vir1/MyProject$

Ответ 1

Некоторые пакеты требуют поддержки программного обеспечения, отличного от Python, например, разделяемых библиотек. Они не могут быть установлены через pip (они не являются пакетами Python!). Обычно вы устанавливаете их на хост с помощью менеджера пакетов хостов (apt-get или yum или dnf и т.д.)), Или вы используете что-то вроде Docker для инкапсуляции как зависимостей, так и вашего приложения.

В вашем случае для pyaudio требуется несколько библиотек, в том числе не менее portaudio. Вам необходимо будет установить соответствующие пакеты разработки в вашей системе, как это предлагается в комментариях к вашему вопросу.

Ответ 2

Это сработало для меня, у меня была такая же проблема:

если вы хотите установить PyAudio внутри virtualenv, установите заголовки разработки PortAudio из APT, затем PyAudio:

sudo apt-get install portaudio19-dev
pip install --allow-unverified=pyaudio pyaudio

https://pyspotify.mopidy.com/en/latest/api/sink/

Ответ 3

Следующие шаги спомогли мне :) Пожалуйста, пройдите и попробуйте

1  sudo apt-get install libasound-dev
2  sudo apt-get install portaudio19-dev
3  pip install pyaudio --user

ИЛИ (--user не работает, попробуйте python3-pyaudio)

sudo apt-get install python3-pyaudio

Ответ 4

В новом Python 3.0 pyaudio можно установить в Windows, используя следующую команду: pip3 install pyaudio.

Ответ 5

Если вы хотите установить pyaudio в виртуальной среде в Windows, сначала вам нужно скачать PyAudio-0.2.11-cp37-cp37m-win_amd64.whl этот файл в [ https://www.lfd.uci.edu/~gohlke/pythonlibs/] здесь, а затем откройте командную строку и перейдите по пути, где находится загруженный файл, и введите pip install PyAudio-0.2.11-cp37-cp37m-win_amd64.whl

Ответ 6

PS C:\Users\NR\Desktop\jarvis> pip install pyaudio Сбор pyaudio с использованием кэшированных https://files.pythonhosted.org/packages/ab/42/b4f04721c5c5bfc196ce156b3c768998ef8c0ae3654ed29ea5020c749tar6. пакеты: pyaudio Колесо сборки для pyaudio (setup.py)... ошибка Завершить вывод команды C:\Users\NR\Anaconda3\python.exe -u -c "импортировать setuptools, токенизировать; file= 'C:\Users\NR\AppData\Local\Temp\pip-install-qt57f5zg\pyaudio\setup.py '; f = getattr (tokenize,' open ', open) (файл); code = f.read(). Replace ('\r\n ','\n '); f.close(); exec (компилировать (код, файл ,' exec ')) "bdist_wheel -d C:\Users\NR\AppData\Local\Temp\pip- wheel-kq5ob7q9 --python-tag cp37: выполняется bdist_wheel выполняется сборка выполняется build_py создает сборку создание build\lib.win-amd64-3.7 копирование src\pyaudio.py → build\lib.win-amd64-3.7 выполнение build_ext сборка '_portaudio Ошибка расширения: требуется Microsoft Visual C++ 14.0. Получите его с помощью "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/


Не удалось создать колесо для pyaudio. Запуск setup.py clean для pyaudio. Не удалось построить pyaudio. Установка собранных пакетов: pyaudio. Запуск setup.py install для pyaudio... error Завершить вывод команды C:\Users\NR\Anaconda3\python.exe [CN00 ] -c "импортировать setuptools, tokenize; file= 'C:\Users\NR\AppData\Local\Temp\pip-install-qt57f5zg\pyaudio\setup.py'; f = getattr (tokenize, 'open', open) (файл); code = f.read(). replace ('\ r\n', '\n'); f.close(); exec (compile (code, file, 'exec')) "install [CN03 ] C:\Users\NR\AppData\Local\Temp\pip-record-t5y_yfxo\install-record.txt - одиночная версия-управляемая извне --compile: запуск установки запуск сборки build_py создание сборки создание сборки \lib.win-amd64-3.7 копирование src\pyaudio.py → build\lib.win-amd64-3.7 при запуске build_ext сборка ошибки расширения '_portaudio': требуется Microsoft Visual C++ 14.0. Получите его с помощью "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/

----------------------------------------

Команда "C:\Users\NR\Anaconda3\python.exe -u -c" импортирует setuptools, tokenize; file= 'C:\Users\NR\AppData\Local\Temp\pip-install-qt57f5zg\pyaudio\setup.py'; f = getattr (tokenize, 'open', open) (файл); code = f.read().replace('\ r\n', '\n'); f.close(); exec (компилировать (код, файл, 'exec')) "install --record C:\Users\NR\AppData\Local\Temp\pip-record-t5y_yfxo\install-record.txt - единственная версия-управляемая извне --compile "не удалось с кодом ошибки 1 в C:\Users\NR\AppData\Local\Temp\pip- установить-qt57f5zg\pyaudio\

Пожалуйста, решите мою проблему

Вышеуказанная ошибка возникает при установке pyaudio в python