我试图通过运行示例代码“ SimulatedDevice.py”来将Python SDK用于IoT中心,但是该代码在3种不同的raspbian设备以及我的PyCharm环境中因相同的异常而中断。 在尝试在我的Raspberry Pi上运行SimulatedDevice.py示例时,代码总是以以下字符中断:
“导入错误:libboost_python-py27.so.1.62.0:无法打开共享对象文件:没有这样的文件或目录”
初始错误:“导入iothub_client”
我已经pip安装了azure-iothub-device-client,并确认版本为python2.7,甚至尝试重新安装python。这很好奇,因为当我在Windows CMD上运行完全相同的文件时,SimulatedDevice.py示例代码功能很好,它仅在Python终端中,并且在Raspberry Pi上却出现此错误。
答案 0 :(得分:0)
Ciao
中所述第一个解决方案
libboost-python1.62.0
软件包?如果没有,则可以使用以下命令进行安装:apt-get install libboost-python1.62.0
第二个解决方案
该链接中的用户[ko5win]遇到了相同的问题,确认具有拉伸能力的新鲜树莓派和libboost的正确版本解决了pip版本问题
另一个用户[sergiomfsilva]提供了一个替代过程:
环境
使用的操作系统和版本
已使用的解决方法步骤
获取图像并准备工作:
sudo su
cd /root
更新系统并进行一些时间检查
执行以下命令:
apt-get update && apt-get upgrade
apt-get install ntp
使用命令
检查RPI日期
date
确定日期后一切就绪
注意:如果发现日期问题,请配置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行 iothub_client文件 “ /usr/local/lib/python3.5/dist-packages/iothub_client/init.py”, .iothub_client import中
中的第1行*
ImportError:libboost_python-py34.so.1.55.0:无法打开共享库 文件:没有这样的文件或目录
构建新库并应用
cd /root/azure-iot-sdk-python/build_all/linux
./setup.sh --python-version 3.5
apt remove libcurl4-openssl-dev
apt install libcurl4-gnutls-dev
./build.sh --build-python 3.5
cd /root
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包