Я пытаюсь сгенерировать qr-коды, используя elaphe в представлении django.Это прекрасно работает на сервере разработки, но не работает в производственной среде, работающей на apache2 и mod_wsgi (на той же машине, что и разработка).Похоже, какая-то ошибка в ghostscript.Я предполагаю, что что-то делать со средой пути (gs установлен в /usr/local/bin).
Ошибка
Тип исключения: IOError Значение исключения:
[Errno 32]Разбитая труба
/ usr / local / web / django / www / production / recipemonkey / recipemonkeyapp / views / groceryitem.py в barcodeimg
- img.save (ответ, PNG)) ...
/ usr / local / web / django / www / production / env / recipemonkey / lib / python2.7 / site-packages / PIL / Image.py в save
/ usr / local / web / django / www / production / env / recipemonkey / lib / python2.7 / site-packages /PIL / EpsImagePlugin.py в загрузке
- self.im = Ghostscript (self.tile, self.size, self.fp) ...
/ usr / local/web/django/www/production/env/recipemonkey/lib/python2.7/site-packages/PIL/EpsImagePlugin.py в Ghostscript
Код
def barcodeimg (запрос, id):
try:
i = GroceryItem.objects.get(pk=id)
except GroceryItem.DoesNotExist:
raise Http404
response=HttpResponse(content_type='image/png')
url="http://%s/recipemonkeyapp/scan/groceryitem/%s" % ('192.168.0.8:8082',i.id)
img=barcode('qrcode',url,options=dict(version=9, eclevel='M'), margin=0, data_mode='8bits') # Generates PIL.EpsImageFile instance
img=img.resize((90,90)) #both these lines generate IOErrors
img.save(response, 'PNG') #both these lines generate IOErrors
return response