【发布时间】:2013-09-24 15:42:33
【问题描述】:
我正在使用 Python 的 elaphe 包来生成 ean-13 条形码图像。该软件包是使用位于 https://pypi.python.org/pypi/elaphe 的 tar 文件从源代码安装的。
当我运行代码时:
BARCODE_IMAGE_PATH = "/tmp/"
def create_barcode_image(product_barcode):
path = BARCODE_IMAGE_PATH + product_barcode + '.png'
img = barcode('ean13', product_barcode,
options=dict(includetext=True, height=0.4), margin=1)
img.save(path, 'PNG')
return path
从 python 解释器看来,它工作得很好。正确的条形码生成到我指定的路径。当我使用 web.py 作为我的 web 框架从 apache 运行它时,我收到错误:
Traceback (most recent call last):
...
img_path = create_barcode_image(barcode)
File "/var/www/py/documents/barcode_images.py", line 27, in create_barcode_image
img.save(path, 'PNG')
File "/usr/local/lib/python2.7/dist-packages/PIL/Image.py", line 1406, in save
self.load()
File "/usr/local/lib/python2.7/dist-packages/PIL/EpsImagePlugin.py", line 283, in load
self.im = Ghostscript(self.tile, self.size, self.fp)
File "/usr/local/lib/python2.7/dist-packages/PIL/EpsImagePlugin.py", line 75, in Ghostscript
raise IOError("gs failed (status %d)" % status)
IOError: gs failed (status 256)
有谁知道可能导致此错误的原因或如何调试它?
【问题讨论】:
-
这些是在同一台机器上吗?如果没有,您确定您在网络服务器上安装了 ghost 脚本吗?
-
是的,我在同一台机器上运行它并安装了 ghostscript。我什至成为了 www-data 用户并以同样有效的方式运行它。我整天都在为这个问题挠头。
-
iirc,这些东西(运行脚本的网络服务器)往往会在真正受限的环境变量下运行,你可能有路径问题。 (另外,我认为错误 256 确实是通过 uint 清洗的错误 -1。
标签: python barcode ghostscript elaphe