When I try to install PyBluez on my PC, it displays to an error as shown below. I have installed a C++ compiler. I don't know what the problem is and how to fix it. I even tried to download a zip from their Github and then tried to install I used pip setup.py install
it installed, but I wasn't able to import the bluetooth library. Can anyone help?
Using cached PyBluez-0.23.tar.gz (97 kB)
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: Command errored out with exit status 1:
command: 'e:\python\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\itsgu\\AppData\\Local\\Temp\\pip-install-te3cdwvh\\pybluez\\setup.py'"'"'; __file__='"'"'C:\\Users\\itsgu\\AppData\\Local\\Temp\\pip-install-te3cdwvh\\pybluez\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\itsgu\AppData\Local\Temp\pip-record-gfwpefis\install-record.txt' --single-version-externally-managed --compile --install-headers 'e:\python\Include\pybluez'
cwd: C:\Users\itsgu\AppData\Local\Temp\pip-install-te3cdwvh\pybluez\
Complete output (41 lines):
running install
running build
running build_py
creating build
creating build\lib.win-amd64-3.8
creating build\lib.win-amd64-3.8\bluetooth
copying bluetooth\ble.py -> build\lib.win-amd64-3.8\bluetooth
copying bluetooth\bluez.py -> build\lib.win-amd64-3.8\bluetooth
copying bluetooth\btcommon.py -> build\lib.win-amd64-3.8\bluetooth
copying bluetooth\macos.py -> build\lib.win-amd64-3.8\bluetooth
copying bluetooth\msbt.py -> build\lib.win-amd64-3.8\bluetooth
copying bluetooth\widcomm.py -> build\lib.win-amd64-3.8\bluetooth
copying bluetooth\__init__.py -> build\lib.win-amd64-3.8\bluetooth
e:\python\lib\site-packages\setuptools\lib2to3_ex.py:36: SetuptoolsDeprecationWarning: 2to3 support is deprecated. If the project still requires Python 2 support, please migrate to a single-codebase solution or employ an independent conversion process.
warnings.warn(
Fixing build\lib.win-amd64-3.8\bluetooth\ble.py build\lib.win-amd64-3.8\bluetooth\bluez.py build\lib.win-amd64-3.8\bluetooth\btcommon.py build\lib.win-amd64-3.8\bluetooth\macos.py build\lib.win-amd64-3.8\bluetooth\msbt.py build\lib.win-amd64-3.8\bluetooth\widcomm.py build\lib.win-amd64-3.8\bluetooth\__init__.py
Skipping optional fixer: buffer
Skipping optional fixer: idioms
Skipping optional fixer: set_literal
Skipping optional fixer: ws_comma
Fixing build\lib.win-amd64-3.8\bluetooth\ble.py build\lib.win-amd64-3.8\bluetooth\bluez.py build\lib.win-amd64-3.8\bluetooth\btcommon.py build\lib.win-amd64-3.8\bluetooth\macos.py build\lib.win-amd64-3.8\bluetooth\msbt.py build\lib.win-amd64-3.8\bluetooth\widcomm.py build\lib.win-amd64-3.8\bluetooth\__init__.py
Skipping optional fixer: buffer
Skipping optional fixer: idioms
Skipping optional fixer: set_literal
Skipping optional fixer: ws_comma
running build_ext
building 'bluetooth._msbt' extension
creating build\temp.win-amd64-3.8
creating build\temp.win-amd64-3.8\Release
creating build\temp.win-amd64-3.8\Release\msbt
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.27.29110\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -I.\port3 -Ie:\python\include -Ie:\python\include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.27.29110\include" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /Tcmsbt\_msbt.c /Fobuild\temp.win-amd64-3.8\Release\msbt\_msbt.obj
_msbt.c
msbt\_msbt.c(145): warning C4244: '=': conversion from 'SOCKET' to 'int', possible loss of data
msbt\_msbt.c(222): warning C4244: '=': conversion from 'SOCKET' to 'int', possible loss of data
msbt\_msbt.c(402): warning C4244: '=': conversion from 'SOCKET' to 'int', possible loss of data
msbt\_msbt.c(415): warning C4244: 'initializing': conversion from 'SOCKET' to 'int', possible loss of data
msbt\_msbt.c(635): warning C4244: 'initializing': conversion from 'SOCKET' to 'int', possible loss of data
msbt\_msbt.c(807): warning C4311: 'type cast': pointer truncation from 'HANDLE' to 'unsigned long'
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.27.29110\bin\HostX86\x64\link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:e:\python\libs /LIBPATH:e:\python\PCbuild\amd64 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.27.29110\lib\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\lib\um\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\ucrt\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64" WS2_32.lib Irprops.lib /EXPORT:PyInit__msbt build\temp.win-amd64-3.8\Release\msbt\_msbt.obj /OUT:build\lib.win-amd64-3.8\bluetooth\_msbt.cp38-win_amd64.pyd /IMPLIB:build\temp.win-amd64-3.8\Release\msbt\_msbt.cp38-win_amd64.lib
LINK : fatal error LNK1181: cannot open input file 'Irprops.lib'
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.27.29110\\bin\\HostX86\\x64\\link.exe' failed with exit status 1181
----------------------------------------
ERROR: Command errored out with exit status 1: 'e:\python\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\itsgu\\AppData\\Local\\Temp\\pip-install-te3cdwvh\\pybluez\\setup.py'"'"'; __file__='"'"'C:\\Users\\itsgu\\AppData\\Local\\Temp\\pip-install-te3cdwvh\\pybluez\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\itsgu\AppData\Local\Temp\pip-record-gfwpefis\install-record.txt' --single-version-externally-managed --compile --install-headers 'e:\python\Include\pybluez' Check the logs for full command output.```
This may be too late, but I faced the same issue. I will provide below two directions for you to take to make PyBluez work. This is more of a workaround, since I was not able to resolve all PyBluez issues on my own system using Python 3.9.x. In both cases you are required to change python version. You can pick what works for you and your needs.
Out of the box, Python 3.9.x can connect to Bluetooth using sockets.
import socket
sock = socket.socket(socket.AF_BLUETOOTH, socket.SOCK_STREAM, socket.BTPROTO_RFCOMM)
sock.connect((host, port))
1. Dependencies (also ensure your paths are set properly)
2. Check the latest version of Python 3.7 available. Most likely will be 3.7.7.
pyenv install --list
3. Install python using pyenv
pyenv install 3.7.7
4. Go to your project's folder and create a virtual environment using the python version installed
pipenv --python 3.7.7
5. Clone and Build Pybluez from source
git clone https://github.com/pybluez/pybluez.git
cd pybluez/
python setup.py build
6. Install PyBluez within your virtual environment
pipenv shell
python setup.py install
From there, you should be able run any projects within this virtual environment using python 3.7.7, which is able to properly build and install PyBluez. I have not found any other methods of making PyBluez install as of now.
只需安装正确的版本 pip install pybluez2
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.