再见,
正如这篇伟大的帖子所说
第一个解决方案
- 你在运行 raspbian 拉伸还是 jessie?你现在可能想要拉伸。这是最新的稳定版本,也是我们正在测试的版本
- 安装
libboost-python1.62.0
包了吗?如果没有,您可以使用以下方式安装它:
apt-get install libboost-python1.62.0
第二种解决方案
该链接中存在相同问题的用户 [ko5win] 确认具有拉伸功能的新鲜树莓派和正确版本的 libboost 解决了 pip 版本问题
另一位用户 [sergiomfsilva] 提供了一个替代程序:
使用的环境
操作系统和版本
- Linux raspberrypi 4.14.30-v7+ #1102 SMP Mon Mar 26 16:45:49 BST 2018 armv7l GNU/Linux
- 使用的 Python 运行时:Python 3.5.3
- 使用的 SDK 版本:1.3.1
使用的解决方法步骤
获取图像并准备工作:
- 获取最后一个 Raspbian Lite 图像
- 用于 Raspberry Pi3 的闪存 microSD 卡
- 用树莓派启动
- 使用 pi 用户登录
- 发出命令
sudo su
- 转到根文件夹
cd /root
更新系统并进行一些时间检查
日期之后一切就绪
注意:如果发现日期问题,请配置 ntp.conf 文件
安装所需的软件包并查看报告的错误
安装所需的软件包
apt-get install -y git cmake build-essential curl libcurl4-openssl-dev libssl-dev uuid-dev python3-pip
SDK克隆
git clone --recursive https://github.com/Azure/azure-iot-sdk-python.git
使用 pip3 安装设备客户端包
pip3 install azure-iothub-device-client
转到示例文件夹
cd azure-iot-sdk-python/device/samples/
运行示例代码
python3 iothub_client_sample.py
错误必须相同:
回溯(最后一次调用):
文件“iothub_client_sample.py”,第 10 行,在
import iothub_client 文件“/usr/local/lib/python3.5/dist-packages/iothub_client/init .py ”,第 1 行,
来自.iothub_client 导入 *
ImportError:libboost_python-py34.so.1.55.0:无法打开共享对象文件:没有这样的文件或目录
构建新库并应用它
- 转到linux的构建文件夹
cd /root/azure-iot-sdk-python/build_all/linux
- 运行安装程序
./setup.sh --python-version 3.5
- 将 openssl dev 替换为 gnutls dev 已经报告了类似 curl out of memory 问题的解决方案
apt remove libcurl4-openssl-dev
apt install libcurl4-gnutls-dev
- 构建库
./build.sh --build-python 3.5
- 转到根文件夹
cd /root
- 将创建的库移动到 python iothub_client 路径
mv azure-iot-sdk-python/device/samples/iothub_client.so /usr/local/lib/python3.5/dist-packages/iothub_client/iothub_client.so
- 转到示例文件夹
cd azure-iot-sdk-python/device/samples/
- 运行示例代码
python3 iothub_client_sample.py
这解决了在覆盆子中发现和工作的问题。这并没有解决这个问题,因为它与 pip 包有关。解决更新了库和 python 版本的新 pip 包