windowsでpythonにPyaudioをインストールする際に生じるエラーの原因と解決方法 |じょるブログ

じょるブログ

電子工作やプログラミング関連の情報を発信している技術系ブログ

インストール エラー解決

windowsでpythonにPyaudioをインストールする際に生じるエラーの原因と解決方法

投稿日:2020年5月30日 更新日:

 

私はwindowsのノートパソコンを使用しているのですが、先日pythonで録音や再生を行ったり、音声解析を行うことのできるモジュールであるPyaudioを入れようとした際にエラーが発生し少しつまづいたので、自分用の備忘録としてここに記載しておきます。

   

発生した症状

Pyaudio をインストールしようと

python -m pip install pyaudio

上記のコマンドを入力し、実行したところ

以下のようなエラーが発生した。

Collecting pyaudio
  Using cached PyAudio-0.2.11.tar.gz (37 kB)
Building wheels for collected packages: pyaudio
  Building wheel for pyaudio (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: 'C:\Users\name\.conda\envs\envs_name\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\name\\AppData\\Local\\Temp\\pip-install-of5bfmjf\\pyaudio\\setup.py'"'"'; __file__='"'"'C:\\Users\\name\\AppData\\Local\\Temp\\pip-install-of5bfmjf\\pyaudio\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\name\AppData\Local\Temp\pip-wheel-9pnk89yn'
       cwd: C:\Users\name\AppData\Local\Temp\pip-install-of5bfmjf\pyaudio\
  Complete output (17 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.7
  copying src\pyaudio.py -> build\lib.win-amd64-3.7
  running build_ext
  building '_portaudio' extension
  creating build\temp.win-amd64-3.7
  creating build\temp.win-amd64-3.7\Release
  creating build\temp.win-amd64-3.7\Release\src
  C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DMS_WIN64=1 -IC:\Users\name\.conda\envs\envs_name\include -IC:\Users\name\.conda\envs\envs_name\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcsrc/_portaudiomodule.c /Fobuild\temp.win-amd64-3.7\Release\src/_portaudiomodule.obj
  _portaudiomodule.c
  c:\users\name\.conda\envs\envs_name\include\pyconfig.h(117): warning C4005: 'MS_WIN64': macro redefinition
  c:\users\name\.conda\envs\envs_name\include\pyconfig.h(117): note: command-line arguments:  see previous definition of 'MS_WIN64'
  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 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit status 2
  ----------------------------------------
  ERROR: 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
    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\name\.conda\envs\envs_name\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\name\\AppData\\Local\\Temp\\pip-install-of5bfmjf\\pyaudio\\setup.py'"'"'; __file__='"'"'C:\\Users\\name\\AppData\\Local\\Temp\\pip-install-of5bfmjf\\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\name\AppData\Local\Temp\pip-record-98szi9yd\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Users\name\.conda\envs\envs_name\Include\pyaudio'
         cwd: C:\Users\name\AppData\Local\Temp\pip-install-of5bfmjf\pyaudio\
    Complete output (17 lines):
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.7
    copying src\pyaudio.py -> build\lib.win-amd64-3.7
    running build_ext
    building '_portaudio' extension
    creating build\temp.win-amd64-3.7
    creating build\temp.win-amd64-3.7\Release
    creating build\temp.win-amd64-3.7\Release\src
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DMS_WIN64=1 -IC:\Users\name\.conda\envs\envs_name\include -IC:\Users\name\.conda\envs\envs_name\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tcsrc/_portaudiomodule.c /Fobuild\temp.win-amd64-3.7\Release\src/_portaudiomodule.obj
    _portaudiomodule.c
    c:\users\name\.conda\envs\envs_name\include\pyconfig.h(117): warning C4005: 'MS_WIN64': macro redefinition
    c:\users\name\.conda\envs\envs_name\include\pyconfig.h(117): note: command-line arguments:  see previous definition of 'MS_WIN64'
    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 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit status 2
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'C:\Users\name\.conda\envs\envs_name\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\name\\AppData\\Local\\Temp\\pip-install-of5bfmjf\\pyaudio\\setup.py'"'"'; __file__='"'"'C:\\Users\\name\\AppData\\Local\\Temp\\pip-install-of5bfmjf\\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\name\AppData\Local\Temp\pip-record-98szi9yd\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Users\name\.conda\envs\envs_name\Include\pyaudio' Check the logs for full command output.

  

原因

原因はpyaudioモジュールが自分の実行環境(pythonのバージョン)に対応していないからでした。

pyaudioモジュールは現時点(2020/05/30)ではpython3.6までにしか対応しておらず、3.7以降には対応していないそうです。

   

解決方法

よって解決方法はpythonのバージョンを下げるしかなさそうです。

自分の場合、エラー発生時の環境は以下の通りでした。

エラー発生時の環境

  • OS:Windows 10 Home
  • python:3.7 (anaconda)
  • pip:20.1.1

※ (anacondaで仮想環境を作成)

  

これを以下のように変更しました。

エラー解決時の環境

  • OS:Windows 10 Home
  • python:3.6 
  • pip:20.0.2

※ (anacondaで仮想環境を作成)

  

すると、以下のようにすんなりとインストールすることができました。

Collecting pyaudio
  Downloading PyAudio-0.2.11-cp36-cp36m-win_amd64.whl (52 kB)
     |████████████████████████████████| 52 kB 458 kB/s
Installing collected packages: pyaudio
Successfully installed pyaudio-0.2.11

環境の変更方法についてですが、私はanacondaを入れているため、アナコンダ上で新しく仮想環境を構築しました。

自分はANACONDA NAVIGATOR の Environments設定で直接設定しましたが、コマンドで行う場合は

#仮想環境作成
conda create -n 環境名 python=3.6

#作成した環境を起動
activate 環境名

でできます。(Mac OS の場合はsource activate 環境名)

google ads




google ads




-インストール, エラー解決

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


関連記事

Githubでpush時に ” Permission denied (publickey). fatal: Could not read from remote repository.”となってしまう場合の対処法

パソコンを買い替え、githubをインストールして、リモートリポジトリにpush使用とした際に以下のようなエラーが発生しました。 git@github.com: Permission denied ( …

ラズパイに4TBの外付けHDDを接続しNAS(ファイルサーバー)を構築してみた

私は256GBのSSDが搭載されているWindowsパソコンを使用しているのですが、最近空き容量が30GBくらいになってきてしまいました。空き容量がギリギリになると色々と不具合が発生してくるとどこかで …

簡単!仮想マシンVMwareでWindowsにLinux(ubuntu)をインストールする方法を徹底解説!

私はWindowsパソコンを使っているのですが、WindowsとLinuxではコマンドが違うため、使いづらいです。Gitを入れることで一部LinuxコマンドがWindowsのコマンドプロンプトで使用で …

ラズベリーパイでICカードのデータを読み取る

今回はSONYのICカードリーダー( RC-S320 )を使用して、suicaなどのICカードを読み取り、 idm(ICカードの固有番号、ICタグ)や残高、交通履歴などを取得する方法についてご紹介しま …

簡単にRasberryPi Zero WH へ node.js, npmを入れる方法

  はじめに  スマートリモコンでPS4を操作するためにはps4-wakerというパッケージが必要であり、これをインストールするにはnode.jsのパッケージ管理ツールであるnpmをインストールする必 …




関連記事