J'essaie de lancer un programme Python qui utilise pyaudio:
python-pyaudio
ImportError: No module named 'pyaudio'
Qu'est-ce que je fais mal?
$ Sudo apt-get install python-pyaudio
[Sudo] password for nico:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
python-pyaudio-doc
The following NEW packages will be installed:
python-pyaudio
0 upgraded, 1 newly installed, 0 to remove and 49 not upgraded.
Need to get 0 B/24.1 kB of archives.
After this operation, 109 kB of additional disk space will be used.
Selecting previously unselected package python-pyaudio.
(Reading database ... 336001 files and directories currently installed.)
Preparing to unpack .../python-pyaudio_0.2.8-1build2_AMD64.deb ...
Unpacking python-pyaudio (0.2.8-1build2) ...
Setting up python-pyaudio (0.2.8-1build2) ...
$ ./runanki
Traceback (most recent call last):
File "./runanki", line 3, in <module>
import aqt
File "/home/nico/src/anki/aqt/__init__.py", line 4, in <module>
from anki import version as _version
File "/home/nico/src/anki/anki/__init__.py", line 13, in <module>
from anki.storage import Collection
File "/home/nico/src/anki/anki/storage.py", line 12, in <module>
from anki.collection import _Collection
File "/home/nico/src/anki/anki/collection.py", line 26, in <module>
from anki.sound import stripSounds
File "/home/nico/src/anki/anki/sound.py", line 207, in <module>
import pyaudio
ImportError: No module named 'pyaudio'
Environnement:
$ which python
/usr/bin/python
$ python --version
Python 2.7.11+
La cause du problème est que le Shebang du script runanki
de https://github.com/dae/anki/blob/master/runanki indique explicitement que Python 3, donc ./runanki
invoque l'interpréteur Python 3 mais vous avez installé pyaudio
pour Python 2. Par conséquent, Python 3 n'est pas capable de trouver pyaudio
et soulève donc un ImportError
. La solution la plus simple consiste à installer les liaisons Python 3 pour pyaudio
en exécutant:
Sudo apt update && Sudo apt install python3-pyaudio