2016-08-22 3 views
0

Я использую библиотеку Adafruit_DHT в файле, и когда я пытаюсь использовать pyinstaller для компиляции, я получаю сообщение об ошибке, которое Raspberry_Pi_Driver.so: не может открыть файл общих объектов I используя обычный RPi (не модель 2) и raspbian. Файл, который я пытаюсь скомпилировать, сам по себе прекрасно. Raspberry_Pi_Driver.so там я нашел ./ | grep Raspberry_Pi_Driver.so, и он существовал. Я также попытался использовать -hidden-import = Adafruit_DHT при компиляции pyinsatller, и это тоже не сработало. При компиляции он не дает никаких ошибок. Я заметил после компиляции и в папке сборки thee - папка Adafruit_DHT с драйвером и т. Д. Любая идея, что происходит? Может ли быть, что библиотека была воссоздана в папке сборки, и это запутывает при выполнении файла?pyinstaller Библиотека Adafruit DHT raspberry_Pi_Driver.so: не удается открыть общий объект

+0

Установите 'LD_DEBUG', чтобы увидеть, где динамический компоновщик ищет .so? (Http://www.bnikolic.co.uk/blog/linux-ld-debug.html). Если это не путь по умолчанию/lib/usr/lib и т. Д., Вам может потребоваться установить LD_LIBRARY_PATH. – Pawel

+0

Вы можете попробовать [this] (http://stackoverflow.com/a/32048136/3837382), чтобы указать ваш код в папку '' pyinstaller' temp] (https://pythonhosted.org/PyInstaller/operating-mode. HTML # как--один-файл-программа-работа). Если это не работает, попробуйте снова с опцией '--hidden-import'. – Repiklis

+0

@Pawel: Можете ли вы показать пример того, как установить ld_debug? Это при генерации exe-файла или при его выполнении? – Hans

ответ

0

Я нашел разрешение для этого (спасибо: k4ml.me/posts/pyinstaller.html) Я только что добавил '-p/path/to/mylib' при создании exe-файла, а mylib - это каталог, в котором находится папка Adafruit_DHT (был файл Adafruit_DHT_Driver.so).

Смежные вопросы