Treepoem 条形码生成器无法找到 ghostscript
Treepoem barcode generator unable to find ghostscript
我正在尝试使用 treepoem 在 python 中生成 pdf417 条形码,但 pycharm 一直给我以下错误:
回溯(最近调用最后):
文件 "C:/Users/./Documents/barcodes.py",第 175 行,位于
图像 = generate_barcode(barcode_type="pdf417", 数据=条形码, 选项=dict(eclevel=5, 行=27, 列=12))
文件 "C:\Users.\AppData\Local\Programs\Python\Python36-32\lib\site-packages\treepoem__init__.py",第 141 行,在 generate_barcode 中
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()
文件 "C:\Users.\AppData\Local\Programs\Python\Python36-32\lib\site-packages\treepoem__init__.py",第 108 行,在 _get_ghostscript_binary 中
'Cannot determine path to ghostscript, is it installed?'
treepoem.TreepoemError: 无法确定 ghostscript 的路径,是否已安装?
我尝试安装ghostcript,使用我在网上找到的.exe和pip install ghostscript(第一次成功完成,现在告诉我要求已满足),但我仍然不断收到此错误.关于如何修复它有什么想法吗?
您正在 Windows 上安装,Windows 二进制文件的名称与 Linux 二进制文件的名称不同,并且实际上有所不同,具体取决于您安装的是 64 位还是 32 位版本。
在 Linux(和 MacOS)上,Ghostscript 二进制文件称为 'gs',在 Windows 上,它的 'gswin32' 或 'gswin64' 或 'gswin32c'或 'gswin64c' 取决于您是想要 32 位还是 64 位版本,以及命令行或窗口可执行文件。
我的猜测是你的脚本只是在寻找 'gs' 并且可能期望路径在 $PATH 环境变量中,我不清楚它期望什么。
您可能 'fix' 通过确保安装路径位于 $PATH 环境变量中并将可执行文件复制到该目录中的 'gs.exe'。
除此之外,您还需要有人告诉您脚本在寻找什么。很可能你可以 grep 它。
另一个解决方案是编辑 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
我正在尝试使用 treepoem 在 python 中生成 pdf417 条形码,但 pycharm 一直给我以下错误:
回溯(最近调用最后):
文件 "C:/Users/./Documents/barcodes.py",第 175 行,位于 图像 = generate_barcode(barcode_type="pdf417", 数据=条形码, 选项=dict(eclevel=5, 行=27, 列=12)) 文件 "C:\Users.\AppData\Local\Programs\Python\Python36-32\lib\site-packages\treepoem__init__.py",第 141 行,在 generate_barcode 中 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() 文件 "C:\Users.\AppData\Local\Programs\Python\Python36-32\lib\site-packages\treepoem__init__.py",第 108 行,在 _get_ghostscript_binary 中 'Cannot determine path to ghostscript, is it installed?' treepoem.TreepoemError: 无法确定 ghostscript 的路径,是否已安装?
我尝试安装ghostcript,使用我在网上找到的.exe和pip install ghostscript(第一次成功完成,现在告诉我要求已满足),但我仍然不断收到此错误.关于如何修复它有什么想法吗?
您正在 Windows 上安装,Windows 二进制文件的名称与 Linux 二进制文件的名称不同,并且实际上有所不同,具体取决于您安装的是 64 位还是 32 位版本。
在 Linux(和 MacOS)上,Ghostscript 二进制文件称为 'gs',在 Windows 上,它的 'gswin32' 或 'gswin64' 或 'gswin32c'或 'gswin64c' 取决于您是想要 32 位还是 64 位版本,以及命令行或窗口可执行文件。
我的猜测是你的脚本只是在寻找 'gs' 并且可能期望路径在 $PATH 环境变量中,我不清楚它期望什么。
您可能 'fix' 通过确保安装路径位于 $PATH 环境变量中并将可执行文件复制到该目录中的 'gs.exe'。
除此之外,您还需要有人告诉您脚本在寻找什么。很可能你可以 grep 它。
另一个解决方案是编辑 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