Я использую пакет elaphe для python для генерации изображений штрих-кода ean-13. Пакет был установлен из источника, используя tar-файл, найденный по адресу https://pypi.python.org/pypi/elaphe.Python Barcode Generation
Когда я запускаю код:
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
из интерпретатора, кажется, работает отлично. Правильный штрих-код генерируется в указанном мной пути. Когда я запускаю его из апача, используя web.py как мой веб-рамки я получаю сообщение об ошибке:
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)
Кто-нибудь знает, что может быть причиной этой ошибки или, как идти об отладке это?
находятся на одной машине? Если нет, уверены ли вы, что на веб-сервере установлен скрипт-призрак? – tacaswell
Yup, я запустил его на той же машине и установлен ghostscript. Я даже стал пользователем www-data и работал так же, как и работал. Я весь день царапаю голову над этим. –
iirc, эти вещи (webservers running scripts) имеют тенденцию запускаться с действительно ограниченными переменными окружения, у вас может быть проблема с пути. (Кроме того, я думаю, что ошибка 256 действительно является ошибкой -1, отмытой через uint. – tacaswell