打包GUI进行分发 - ghostscript ..?

时间:2017-09-22 10:44:26

标签: python tkinter pyinstaller ghostscript

我创建了一个GUI,我希望将其发送给与之合作的人。 GUI对我来说非常适合,但是当我使用pyinstaller和--onefile打包它时,它并没有为其他人工作。我知道没有其他人在他们的机器上安装python,但我被告知这不会是一个问题。但是,我的程序涉及ghostscript。

简而言之,我的程序有3个按钮。按钮1允许用户选择pdf。按钮2将此pdf转换为图像。按钮3将读取每个图像并说明它是彩色页面还是仅黑色页面,完成后它将删除临时图像文件。

我使用的进口是

from tkinter import *
import os, time
from PyPDF2 import PdfFileReader, PdfFileWriter
from tempfile import NamedTemporaryFile
from tkinter.filedialog import askopenfilename, askdirectory
import tkinter.scrolledtext as tkst
from PythonMagick import Image as IMG
from PIL import Image

我想我在某种程度上需要让用户在打开应用程序时安装与我相同版本的ghostscript。有没有人对如何解决这个问题有任何建议让人们使用它?

编辑:当我说“它没有为其他人工作”时,我的意思是应用程序打开,用户可以选择一个文件,但运行ghostscript的按钮没有'工作。意思是需要安装ghostscript。安装完成后就可以了。

1 个答案:

答案 0 :(得分:0)

我建议手动安装GhostScript并将其路径添加到OS环境。

import os
from pathlib import Path

this_path = Path(sys.argv[0]).parent
os.environ['MAGICK_HOME'] = ';'.join([str(this_path / 'image_magic'),
                                      str(this_path / 'GhostScript' / 'bin')
                                      ])

在这里,我在Python文件的根目录中安装了Image Magic + GhostScript。