Qu0rk Qu0rk - 1 month ago 16
Linux Question

Python3 error "no module named bluetooth" on Linux Mint

I am trying to connect my Lenovo S10E to a Nintendo Wiimote via bluetooth. I am using a simple Python script, reproduced below. I am calling it from the Linux Mint (version 16, "Petra") command line using

python3 find_wii.py


Script:

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")


I am receiving the error

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


I have installed bluez and python wrappings for it (
sudo aptitude install python-bluez
). I have upgraded my system (
sudo apt-get update
,
sudo apt-get upgrade
). I did consulted Google, and the only official bugs I could find are here and here, and neither of the answers worked for me.

How can I get the Bluetooth module to work?

Answer

You've installed the Python 2 version of bluez bindings. Either run the script using python2 bluez or install the Python 3 bindings. Since they aren't packaged, you would need to install them using e.g. pip:

python3 -m pip install bluez
Comments