Search code examples
pythonwindowspipbluetoothpybluez

Installing PyBluez via pip and troubles with import


I'm have to do something using a Pybluez, I had errors on my code, so I told myself to start with "code example" what is in Pybluez, but I have errors in example too.

This is the example:

#!/usr/bin/env python3
import bluetooth

server_sock = bluetooth.BluetoothSocket(bluetooth.RFCOMM)
server_sock.bind(("", bluetooth.PORT_ANY))
server_sock.listen(1)

port = server_sock.getsockname()[1]

uuid = "94f39d29-7d6d-437d-973b-fba39e49d4ee"

bluetooth.advertise_service(server_sock, "SampleServer", service_id=uuid,
                            service_classes=[uuid, bluetooth.SERIAL_PORT_CLASS],
                            profiles=[bluetooth.SERIAL_PORT_PROFILE],
                            # protocols=[bluetooth.OBEX_UUID]
                            )

print("Waiting for connection on RFCOMM channel", port)

client_sock, client_info = server_sock.accept()
print("Accepted connection from", client_info)

try:
    while True:
        data = client_sock.recv(1024)
        if not data:
            break
        print("Received", data)
except OSError:
    pass

print("Disconnected.")

client_sock.close()
server_sock.close()
print("All done.")

So I tryed to reinstall Pybluez via pip, I uninstalled it and runned command

pip install git+https://github.com/pybluez/pybluez#egg=Pybluez

I've got error too...

PS C:\Users\AWWP2UY> pip install git+https://github.com/pybluez/pybluez#egg=Pybluez
Collecting Pybluez
  Cloning https://github.com/pybluez/pybluez to c:\users\awwp2uy\appdata\local\temp\pip-install-vnq86zsj\pybluez_60d3f467b9d64a8692e045a4ad16478a
  Running command git clone --filter=blob:none --quiet https://github.com/pybluez/pybluez 'C:\Users\AWWP2UY\AppData\Local\Temp\pip-install-vnq86zsj\pybluez_60d3f467b9d64a8692e045a4ad16478a'
  Resolved https://github.com/pybluez/pybluez to commit 07ebef044195331a48bbb90a3acb911922048ba0
  Preparing metadata (setup.py) ... done
Using legacy 'setup.py install' for Pybluez, since package 'wheel' is not installed.
Installing collected packages: Pybluez
  Running setup.py install for Pybluez ... error
  error: subprocess-exited-with-error
  
  × Running setup.py install for Pybluez did not run successfully.
  │ exit code: 1
  ╰─> [16 lines of output]
      running install
      running build
      running build_py
      creating build
      creating build\lib.win-amd64-3.9
      creating build\lib.win-amd64-3.9\bluetooth
      copying bluetooth\ble.py -> build\lib.win-amd64-3.9\bluetooth
      copying bluetooth\bluez.py -> build\lib.win-amd64-3.9\bluetooth
      copying bluetooth\btcommon.py -> build\lib.win-amd64-3.9\bluetooth
      copying bluetooth\macos.py -> build\lib.win-amd64-3.9\bluetooth
      copying bluetooth\msbt.py -> build\lib.win-amd64-3.9\bluetooth
      copying bluetooth\widcomm.py -> build\lib.win-amd64-3.9\bluetooth
      copying bluetooth\__init__.py -> build\lib.win-amd64-3.9\bluetooth
      running build_ext
      building 'bluetooth._msbt' extension
      error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure

× Encountered error while trying to install package.
╰─> Pybluez

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the fail

I'm so confused because it's import error, in most cases you have to just reinstall module...


Solution

  • It was problem with Pybluez Library, when I changed every "bluetooth" to a "socket", it work as it have to work.