如何在pyinstaller中包含wkhtmltopdf

时间:2018-08-21 04:29:28

标签: pyinstaller wkhtmltopdf python-pdfkit

我已经编写了一个python应用程序,该应用程序使用pdfkit软件包来打印PDF。我正在使用pyinstaller在Ubuntu上构建此应用程序的可执行文件。 pdfkit取决于在/ usr / bin /下使用sudo apt install安装的wkhtmltopdf。

根据pyinstaller documentation二进制文件,可以通过将每个二进制文件添加到.spec文件中的“ binaries”列表中来包括。但是,这似乎不起作用。我还尝试在pwd中创建wkhtmltopdf的副本,并将该文件添加到.spec文件中的“数据”列表中,但不起作用。

如何将/ usr / bin /下的wkhtmltopdf二进制文件包含到我的软件包中,以便最终用户无需单独安装它?

1 个答案:

答案 0 :(得分: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的路径放在touple的第一位。

然后运行以下命令制作可执行文件:

pyinstaller your_python_script.spec

---有点解释:

列表[]的每个元素都是一个元组,其中包含二进制文件的路径和最终可执行文件的相对路径作为元素。