この質問は私のこれらの質問の続きです。
https://teratail.com/questions/em3z2smaje41oh
https://teratail.com/questions/s74knr8qfejl8z
前提
ラズベリーパイ4でpythonを用いてneopioxelのws2812bを動かすコードを書いています。
adfruit社のHPを参考に配線をし、boardとadfruit-circuitpython-neopixelをインストールしました。
https://learn.adafruit.com/adafruit-neopixel-uberguide/python-circuitpython
該当のソースコード
HPを参考に以下のような記述をして実行してみたところ、
python
1import time 2import board 3import neopixel 4 5pixels = neopixel.NeoPixel(board.D18, 30) 6 7pixels[0] = (255, 0, 0) 8 9time.sleep(5) #これがないと処理が一瞬で終わってしまう?
エラーメッセージ
このようなエラーメセージが出ました。
Could not import the PyAudio C module '_portaudio'. Traceback (most recent call last): File "/home/pi/neopixel-t2-02.py", line 3, in <module> import neopixel File "/home/pi/.local/lib/python3.7/site-packages/neopixel/__init__.py", line 9, in <module> from .microphone import Microphone File "/home/pi/.local/lib/python3.7/site-packages/neopixel/microphone.py", line 1, in <module> import pyaudio File "/home/pi/.local/lib/python3.7/site-packages/pyaudio.py", line 116, in <module> import _portaudio as pa ImportError: libportaudio.so.2: cannot open shared object file: No such file or directory
libportaudio.so.2という名前のsoファイルが必要なのかなと思い、
pip3 install libportaudio.so.2
をしてみると
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple Collecting libportaudio.so.2 Could not install packages due to an EnvironmentError: 404 Client Error: Not Found for url: https://pypi.org/simple/libportaudio-so-2/
となってしまいました。
調べて試してみて
このサイトにはsoファイル名とパッケージ名は異なり、パッケージ名を知るにはyumコマンドを使うと良いと言うようなことが書いてありました。しかし調べてみると、ラズパイでは使えないようです。
https://www.geek.sc/archives/620
このエラーが出なくなるにはlibportaudio.so.2のパッケージ名が分かってそれをインストールすれば良いと理解しているのですが、そうであればそのパッケージ名を知る方法を教えていただきたいです。
また自分の理解が間違っていたらどうすればこのエラーが消えるのかを教えていただきたいです。
すごく初歩的な勘違いをしているかもしれないですが、それも含めて丁寧に教えていただければ幸いです。
回答1件
あなたの回答
tips
プレビュー