Treepoem条形码生成器无法找到ghostscript

时间:2017-08-22 23:36:12

标签: python ghostscript

我正在尝试使用treepoem在python中生成pdf417条形码,但pycharm一直给我以下错误:

追踪(最近一次呼叫最后一次):

文件“C:/ Users /./ Documents / barcodes.py”,第175行,in     image = generate_barcode(barcode_type =“pdf417”,data =条形码,options = dict(eclevel = 5,rows = 27,columns = 12))   在generate_barcode中输入文件“C:\ Users。\ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ site-packages \ treepoem__init __。py”,第141行     bbox_lines = _get_bbox(代码)   文件“C:\ Users。\ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ site-packages \ treepoem__init __。py”,第81行,在_get_bbox中     ghostscript = _get_ghostscript_binary()   在_get_ghostscript_binary中输入文件“C:\ Users。\ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ site-packages \ treepoem__init __。py”,第108行     '无法确定ghostscript的路径,是否已安装?' treepoem.TreepoemError:无法确定ghostscript的路径,是否已安装?

我尝试使用我在网上找到的.exe并使用pip install ghostscript安装ghostcript(第一次成功完成,现在告诉我要求已满足),但我仍然不断收到此错误。关于如何解决它的任何想法?

2 个答案:

答案 0 :(得分:1)

您正在Windows上安装,Windows二进制文件的名称与Linux二进制文件的名称不同,实际上根据您是安装了64位还是32位版本而有所不同。

在Linux(和MacOS)上,Ghostscript二进制文件称为'gs',在Windows上为'gswin32'或'gswin64'或'gswin32c'或'gswin64c',具体取决于您是否需要32位或64位版本,以及命令行或窗口可执行文件。

我的猜测是你的脚本只是在寻找'gs'并且可能期望路径在$ PATH环境变量中,我不清楚它的期望是什么。

你可以通过确保安装路径在$ PATH环境变量中并将可执行文件复制到该目录中的'gs.exe'来“修复”这个。

除此之外,您还需要能够告诉您脚本正在寻找什么的人。很可能你只能贪图它。

答案 1 :(得分:0)

另一种解决方案是编辑C:\ Users \ Windows.UserName \ AppData \ Local \ Programs \ Python \ Python37 \ Lib \ site-packages \ treepoem__init __。py

脚本正在寻找gs.exe,如下所示更改为gswin32.exe。

然后在Windows的PATH中添加GhostScriptInstallDir \ bin。

def _get_ghostscript_binary():
    binary = "gswin32" # changed from 'gs' to 'gswin32'

    if sys.platform.startswith("win"):
        binary = EpsImagePlugin.gs_windows_binary
        if not binary:
            raise TreepoemError(
                "Cannot determine path to ghostscript, is it installed?"
            )

    return binary