0

有没有办法Ghostscript包含cx_freezevirtualenv

我已经尝试过了,pip install python3_ghostscript-0.5.0-py3-none-any.whl但仍然低于错误

从此链接下载了 .whl 文件 - https://pypi.python.org/packages/6a/2d/e2d7474bea24d223d5dc86d51241fd305b75a9168f2e1d7ee07b883c80a5/python3_ghostscript-0.5.0-py3-none-any.whl#md5=0e63a24a3801ead992720874c

错误:RuntimeError: Please make sure that Ghostscript is installed

在我的 Windows 系统中安装 Ghostscript 不会解决问题,因为我需要将它包含在我的构建中,cx_freeze以便非 python 安装的系统可以使用我构建的桌面应用程序Tkinter

基本上我camelot用来将pdf表格转换为excel,但它需要Ghostscript

任何替代解决方案都非常受欢迎!

提前致谢!

4

2 回答 2

3

我相信我找到了答案

我只需要flavor='stream'在我的代码中使用,因为流不使用 Ghostscript

tables = camelot.read_pdf(filename, pages=input_page_nos, flavor='stream')
于 2020-07-30T09:12:22.140 回答
0

如果你幸运的话,你可以简单地压缩你的 Ghostscript 安装,将压缩包与你的软件捆绑在一起(我相信有一种方法可以将任意文件捆绑在一起cx_freeze)。

然后,您可以让程序将 Ghostscript 解压缩到临时文件夹(或已知文件夹)。之后,您可能需要破解camelot.ext.ghostscript._gsprint.__win32_finddll()仅在该安装文件夹中查找 DLL,因为通常不会存在任何这些注册表项。

祝你好运!

于 2020-07-30T07:53:29.227 回答