pdf2image 不适用于 gunicorn/flask

pdf2image not working with gunicorn/flask

在过去的一天里,我一直在尝试将 pdf2image 合并到我的 flask 网络服务中。 问题是,无论我做什么,我仍然得到“是否安装了 poppler 并在 PATH 中?”错误信息。 我写了一个小程序,它只打印 pdf 文件中的页数。这在包含 venv 的烧瓶内外完全正常。如果我尝试从烧瓶文件执行此操作,则会收到错误消息。我什至尝试在测试代码中调用完全相同的函数,但无济于事。我真的不知道该怎么做了,所以非常感谢任何帮助。

P.S.: 我真的不知道这个 post 应该包含什么来源,所以尽管问,我会提供。

我有你描述的症状。对我来说,问题如下:

在 systemd 用于启动 gunicorn 的 .service 文件中,我有一个不完整的路径变量。解决方案是添加 pdftopm 和 pdftocairo 的路径,在我的例子中(在 Debian 10 上)是 /usr/bin 因此,解决方案是 .service 文件包含

[Service]
...
Environment="PATH=<your_app_path>/venv/bin:/usr/bin"

注意:此问题及其解决方案因此比 pdf2image 问题更广泛,但它似乎经常与 pdf2image 一起出现...假设这是真的,我希望你的问题和我的回答都是相关的。