Wizard Notes

Python, JavaScript を使った音楽信号分析の技術録、作曲活動に関する雑記

Windows+Python 3.7, 3.8, 3.9, 3.10 でのPyAudioのインストール方法・エラー対処

PyAudio

Pythonのバージョンを3.5からアップデートしたところ,PyAudioのインストールに失敗しました

調べてみると,PyPIPyAudio wheel は Python 2.7, 3.4, 3.5, 3.6 以外には非対応となっています.

pip will fetch and install PyAudio wheels (prepackaged binaries). Currently, there are wheels compatible with the official distributions of Python 2.7, 3.4, 3.5, and 3.6. For those versions, both 32-bit and 64-bit wheels are available.

PyAudio: Cross-platform audio I/O for Python, with PortAudio

実際,Python 3.8 でpip install pyaudioとしても,fatal error C1083 などのエラーメッセージが表示されてインストールできませんでした

対策としては,

  1. 仮想環境でPython 3.6を使う
  2. lfd.uci.eduの非公開wheelの利用
    1. 自分でwheelをダウンロード&pip
    2. pipwinの利用

が考えられます.

2.1 は,自身のマシン・Python環境に合わせて,lfd.uci.eduからwheelをダウンロードし,pip install <downloaded file here>としてインストールします.なので,少し面倒です.

2.2はWindows用で,lfd.uci.eduのwheelを引っ張ってくるpipwinを使うことで,以下のように2行でインストールできます.

pip install pipwin
pipwin install pyaudio

ということで,pipwin install pyaudioPyAudioをさくっと導入できました

なお、2 の方法の大きなメリットとしては、公式のPyAudioでは対応していないASIO規格にも対応していることが挙げられます。

参考/関連

また、PyAudio のかわりにPython-sounddeviceを利用する方法もあります。

www.wizard-notes.com