Ciao,
как сказано в этом великом посте
1-й раствор
- ты бегаешь по распбиану или Джесси? Вы, вероятно, хотите растянуть сейчас. это последняя стабильная версия, которую мы тестируем на
- установлен ли пакет
libboost-python1.62.0
? если нет, вы можете установить его с помощью:
apt-get install libboost-python1.62.0
2-й раствор
Пользователь [ko5win] в этой ссылке с той же проблемой подтвердил, что свежий Raspberry Pi с натяжкой и правильная версия 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
- флэш-карта microSD для Raspberry Pi3
- ботинок с малиновым пи
- войти в систему с помощью пользователя Пи
- введите команду
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
Ошибка должна быть такой же:
Traceback (последний вызов был последним):
Файл
«iothub_client_sample.py», строка 10, в
импорте
iothub_client File
"/Usr/local/lib/python3.5/dist-packages/iothub_client/init.py",
строка 1 в
из .iothub_client import *
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, о котором уже сообщалось, как решение проблемы с выпадением памяти.
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. Чтобы решить новый пакет pip с библиотекой и обновленной версией Python