ОС: Linux Mint
Я пытаюсь настроить среду разработки для проекта Python с использованием Pybluez.Я установил Visual Studio Code через менеджер пакетов, а затем установил расширение Python от Microsoft.
Затем я установил, следуя инструкциям по установке pybluez, запустив в терминале
sudo apt-get install libbluetooth-dev
sudo apt-get install python-dev
sudo pip install PyBluez
Это, похоже, работаети я смог запустить простой тестовый сценарий в командной строке
from bluetooth import *
nearby_devices = discover_devices()
print(nearby_devices)
Однако при попытке запустить этот файл в коде Visual Studio я продолжаю получать ошибку ImportError
Traceback (most recent call last):
File "/bluesniffer.py", line 1, in <module>
from bluetooth import *
ImportError: No module named bluetooth
Я пыталсячтобы запустить pip install pybluez в терминале кода Visual Studio, однако я получаю эту ошибку.
sh-4.4$ pip install pybluez
Collecting pybluez
Cache entry deserialization failed, entry ignored
Using cached https://files.pythonhosted.org/packages/c1/98/3149481d508bee174335be6725880f00d297afebe75c15e917af8f6fe169/PyBluez-0.22.zip
Building wheels for collected packages: pybluez
Running setup.py bdist_wheel for pybluez ... error
Complete output from command /usr/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-4ccFdE/pybluez/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpmLzN2Cpip-wheel- --python-tag cp27:
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/bluetooth
copying bluetooth/__init__.py -> build/lib.linux-x86_64-2.7/bluetooth
copying bluetooth/widcomm.py -> build/lib.linux-x86_64-2.7/bluetooth
copying bluetooth/osx.py -> build/lib.linux-x86_64-2.7/bluetooth
copying bluetooth/msbt.py -> build/lib.linux-x86_64-2.7/bluetooth
copying bluetooth/btcommon.py -> build/lib.linux-x86_64-2.7/bluetooth
copying bluetooth/bluez.py -> build/lib.linux-x86_64-2.7/bluetooth
copying bluetooth/ble.py -> build/lib.linux-x86_64-2.7/bluetooth
running build_ext
building 'bluetooth._bluetooth' extension
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/bluez
x86_64-unknown-linux-gnu-gcc -pthread -fno-strict-aliasing -march=x86-64 -mtune=generic -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong-grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I./port3 -I/usr/include/python2.7 -c bluez/btmodule.c -o build/temp.linux-x86_64-2.7/bluez/btmodule.o
In file included from bluez/btmodule.c:20:
bluez/btmodule.h:5:10: fatal error: bluetooth/bluetooth.h: No such file or directory
#include <bluetooth/bluetooth.h>
^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
error: command 'x86_64-unknown-linux-gnu-gcc' failed with exit status 1
----------------------------------------
Failed building wheel for pybluez
Running setup.py clean for pybluez
Failed to build pybluez
Installing collected packages: pybluez
Running setup.py install for pybluez ... error
Complete output from command /usr/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-4ccFdE/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 /tmp/pip-9O19sX-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/bluetooth
copying bluetooth/__init__.py -> build/lib.linux-x86_64-2.7/bluetooth
copying bluetooth/widcomm.py -> build/lib.linux-x86_64-2.7/bluetooth
copying bluetooth/osx.py -> build/lib.linux-x86_64-2.7/bluetooth
copying bluetooth/msbt.py -> build/lib.linux-x86_64-2.7/bluetooth
copying bluetooth/btcommon.py -> build/lib.linux-x86_64-2.7/bluetooth
copying bluetooth/bluez.py -> build/lib.linux-x86_64-2.7/bluetooth
copying bluetooth/ble.py -> build/lib.linux-x86_64-2.7/bluetooth
running build_ext
building 'bluetooth._bluetooth' extension
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/bluez
x86_64-unknown-linux-gnu-gcc -pthread -fno-strict-aliasing -march=x86-64 -mtune=generic -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I./port3 -I/usr/include/python2.7 -c bluez/btmodule.c -o build/temp.linux-x86_64-2.7/bluez/btmodule.o
In file included from bluez/btmodule.c:20:
bluez/btmodule.h:5:10: fatal error: bluetooth/bluetooth.h: No such file or directory
#include <bluetooth/bluetooth.h>
^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
error: command 'x86_64-unknown-linux-gnu-gcc' failed with exit status 1
----------------------------------------
Command "/usr/bin/python2.7 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-4ccFdE/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 /tmp/pip-9O19sX-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-4ccFdE/pybluez/
You are using pip version 9.0.3, however version 19.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Ранее я сталкивался с этой ошибкой, и она была исправлена путем запуска
sudo apt-get install libbluetooth-dev
Однако это ужебыло сделано, и программа прекрасно компилируется, когда я запускаю его в обычном терминале.Я не уверен, почему он не работает правильно в Visual Studio Code