python-barcode icon indicating copy to clipboard operation
python-barcode copied to clipboard

Getting set_options() missing 1 required positional argument: 'options' Error when trying to generate an Image

Open scauchet-google opened this issue 4 years ago • 3 comments

I'm getting the following error as soon as Pillow is addedin my env. I've tried with both Pillow 8.0.0 and 8.4.0.

This comes after either write or a save, i.e ean = EAN13(query,writer=ImageWriter) buff = io.BytesIO() ean.write(buff)

or ean = EAN13(query,writer=ImageWriter) filename = ean.save('ean13')

When uninstalling Pillow, the error disappears

File "/Devs/trixintegration/trix/lib/python3.8/site-packages/flask/app.py", line 2073, in wsgi_app response = self.full_dispatch_request() File "/Devs/trixintegration/trix/lib/python3.8/site-packages/flask/app.py", line 1518, in full_dispatch_request rv = self.handle_user_exception(e) File "/Devs/trixintegration/trix/lib/python3.8/site-packages/flask/app.py", line 1516, in full_dispatch_request rv = self.dispatch_request() File "/Devs/trixintegration/trix/lib/python3.8/site-packages/flask/app.py", line 1502, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args) File "/Devs/trixintegration/barcodeapp.py", line 20, in gen_barcode ean.save(query) File "/Devs/trixintegration/trix/lib/python3.8/site-packages/barcode/base.py", line 65, in save output = self.render(options) File "/Devs/trixintegration/trix/lib/python3.8/site-packages/barcode/ean.py", line 121, in render return Barcode.render(self, options, text) File "/Devs/trixintegration/trix/lib/python3.8/site-packages/barcode/base.py", line 103, in render self.writer.set_options(options) TypeError: set_options() missing 1 required positional argument: 'options'

scauchet-google avatar Nov 04 '21 11:11 scauchet-google

Same Issue here

msayed-net avatar Nov 15 '21 20:11 msayed-net

See the set option here : https://python-barcode.readthedocs.io/en/stable/writers/index.html?highlight=number_of_lines use this way :

           from io import BytesIO
           from barcode import EAN13

           options = {
                            "module_width": 0.1,
                            "module_height": 7,
                            "quiet_zone": 0.1,
                           "write_text": False,
                           "text_distance": 2,
                           }
          buff= BytesIO()
          ean = EAN13(query,writer=ImageWriter()).write(buff,options)

avmakesh avatar Feb 02 '22 11:02 avmakesh

same issue just replace ean = EAN13(query,writer=ImageWriter) buff = io.BytesIO() ean.write(buff) with ean = EAN13(query,writer=ImageWriter()) buff = io.BytesIO() ean.write(buff)

tjzo avatar Mar 29 '22 03:03 tjzo