【问题标题】:How to include wkhtmltopdf with pyinstaller如何在 pyinstaller 中包含 wkhtmltopdf
【发布时间】:2018-08-21 04:29:27
【问题描述】:

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

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

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

【问题讨论】:

    标签: pyinstaller wkhtmltopdf python-pdfkit


    【解决方案1】:

    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
    

    ---稍微解释一下:

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

    【讨论】:

    • 你好。你也在用熊猫吗?
    • 您确定wkhtmltopdf 是问题所在吗?我不确定这是否相关,但pandas 1.0.3 似乎与 pyinstaller 有问题。 Reference
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-17
    • 2022-07-07
    • 2023-01-18
    • 2019-05-04
    • 2020-11-08
    相关资源
    最近更新 更多