web-dev-qa-db-fra.com

Erreur Python3 "aucun module nommé bluetooth" sur Linux Mint

J'essaie de connecter mon Lenovo S10E à une Nintendo Wiimote via Bluetooth. J'utilise un simple script Python, reproduit ci-dessous. Je l'appelle à partir de la ligne de commande Linux Mint (version 16, "Petra") en utilisant python3 find_wii.py

Scénario:

import bluetooth

target_name = "Nintendo RVL-CNT-01"
target_address = "00:1C:BE:29:75:7F"

nearby_devices = bluetooth.discover_devices()

for bdaddr in nearby_devices:
    if target_name == bluetooth.lookup_name( bdaddr ):
        target_address = bdaddr
        break

if target_address is not None:
    print("found target bluetooth device with address "), target_address
else:
    print("could not find target bluetooth device nearby")

Je reçois l'erreur

Traceback (most recent call last):
  File "find_wii.py", line 1, in <module>
    import bluetooth
ImportError: No module named 'bluetooth'

J'ai installé bluez et des enveloppes python pour cela (Sudo aptitude install python-bluez). J'ai mis à niveau mon système (Sudo apt-get update, Sudo apt-get upgrade). J'ai consulté Google, et les seuls bogues officiels que j'ai pu trouver sont ici et ici , et aucune des réponses n'a fonctionné pour moi.

Comment puis-je faire fonctionner le module Bluetooth?

12
Qu0rk

Vous avez installé la version Python 2 des liaisons bluez. Exécutez le script à l'aide de python2 ou installez les liaisons Python 3. Comme elles ne sont pas packagées, vous devrez les installer à l'aide de pip:

python3 -m pip install pybluez
13
otus
Sudo apt-get install bluetooth libbluetooth-dev
Sudo python3 -m pip install pybluez

Cela a fonctionné pour moi sur Raspberry Pi 3.

12
greatblueherron

avec Ubuntu 16.04 , j'ai eu le même problème. J'ai installé pybluez et cela a résolu le problème d'importation. Je l'ai installé en utilisant:

Sudo pip3 install pybluez
1
Jeffrey Gong