Как включить wkhtmltopdf с pyinstaller
Я написал приложение на python, которое использует пакет pdfkit для печати PDF-файлов. Я использую pyinstaller для сборки исполняемого файла этого приложения на Ubuntu. pdfkit зависит от wkhtmltopdf, установленного с помощью sudo apt install в /usr/bin/.
В соответствии с документацией pyinstaller двоичные файлы могут быть включены путем добавления каждого двоичного файла в список "binaries" в файле.spec. Однако это не похоже на работу. Я также попытался создать копию wkhtmltopdf в pwd и добавил файл в список "datas" в файле.spec, но это не сработало.
Как я могу включить двоичный файл wkhtmltopdf в / usr / bin / в свой пакет, чтобы конечному пользователю не нужно было устанавливать его отдельно?
0 ответов
pyinstaller версии 3.6, Ubuntu 18.04, но он также должен работать с Windows.
Я смог сделать это, изменив файл.spec.
Чтобы создать файл спецификации:
pyi-makespec your_python_script.py
Будет создан файл с именем my_python_script.spec. Откройте его в текстовом редакторе и измените двоичные файлы строк с:
binaries=[],
к
binaries=[('/usr/bin/wkhtmltopdf','.')],
Другими словами, поместите путь к wkhtmltopdf на первое место в списке.
Затем запустите следующее, чтобы сделать исполняемый файл:
pyinstaller your_python_script.spec
--- Немного поясняю:
Каждый элемент списка [] представляет собой кортеж, содержащий в качестве элементов путь к двоичному файлу и относительный путь к окончательному исполняемому файлу.