python-3.x - 为 Pybluez 安装 GATTlib?

标签 python-3.x bluetooth

我尝试使用 PyBluez 在树莓派上运行低功耗蓝牙示例。

所有示例都需要 gattlib 模块。我收到错误

from gattlib import *
ImportError: No module named gattlib

我尝试安装它:

pip3 install gattlib 

但这不起作用?我无法安装 gattlib?


编辑:这是安装 gattlib 时的输出:

pi@raspberrypi:~ $ pip3 install gattlib
Collecting gattlib
  Using cached https://files.pythonhosted.org/packages/be/2f/5b1aecec551b42b59d8b399ad444b5672972efb590ca83d784dbe616a3e1/gattlib-0.20150805.tar.gz
    Complete output from command python setup.py egg_info:
    Package glib-2.0 was not found in the pkg-config search path.
    Perhaps you should add the directory containing `glib-2.0.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'glib-2.0' found
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-p365j80d/gattlib/setup.py", line 12, in <module>
        "pkg-config --cflags glib-2.0".split()).decode('utf-8')
      File "/usr/lib/python3.5/subprocess.py", line 316, in check_output
        **kwargs).stdout
      File "/usr/lib/python3.5/subprocess.py", line 398, in run
        output=stdout, stderr=stderr)
    subprocess.CalledProcessError: Command '['pkg-config', '--cflags', 'glib-2.0']' returned non-zero exit status 1

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-p365j80d/gattlib/

最佳答案

文档:https://pypi.org/project/gattlib/

首先安装这些依赖项:

pkg-config
libboost-python-dev
libboost-thread-dev
libbluetooth-dev >= 4.101
libglib2.0-dev
python-dev

然后,对于使用 python3 的 gattlib,尝试一下:

pip3 download gattlib
tar xvzf ./gattlib-0.20150805.tar.gz
cd gattlib-0.20150805/
sed -ie 's/boost_python-py34/boost_python-py35/' setup.py
pip3 install .

关于python-3.x - 为 Pybluez 安装 GATTlib?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55178684/

相关文章:

python - 如何使用sox重新采样和正确连接wav文件?

Android:如何找出连接的蓝牙设备的名称?

javascript - chrome.bluetooth.getDevices 未发现 BLE 设备

python - 如何解析 aiohttp json future ?

android - 在接受之前取消蓝牙服务器套接字时,整个过程都会结束。为什么?

android - OBD2 - ELM327 蓝牙模拟器

Android IRC Office Hours 关于Android蓝牙RSSI的问题

python-3.x - os.path.exists 返回 false 但不会在 try/except block 中引发异常

python-3.x - 使用 lambda 函数调整图像大小并将其从一个 s3 移动到另一个 s3

python - 无法从另一个文件导入函数