UnboundLocalError: local variable referenced before assignment
ch1zra
ch1zra at gmail.com
Tue Jun 8 05:00:46 EDT 2010
On Jun 8, 10:29 am, Richard Thomas <chards... at gmail.com> wrote:
> On Jun 8, 9:03 am, ch1zra <ch1... at gmail.com> wrote:
>
>
>
>
>
> > I have following code :
>
> > import os, time, re, pyodbc, Image, sys
> > from datetime import datetime, date, time
> > from reportlab.lib.pagesizes import A4
> > from reportlab.lib.units import cm
> > from reportlab.pdfgen import canvas
> > from reportlab.pdfbase import pdfmetrics
> > from reportlab.pdfbase.ttfonts import TTFont
> > import mkTable
>
> > mkTable.mkTable()
>
> > and then file mkTable.py located in same directory has :
>
> > def mkTable():
> > global canvas
> > canvas = canvas.Canvas(fname, pagesize=A4)
> > ... and so on
>
> > this gives me following traceback:
>
> > Traceback (most recent call last):
> > File "C:\py\pdf_test.py", line 36, in <module>
> > mkTable.mkTable()
> > File "C:\py\mkTable.py", line 38, in mkTable
> > canvas = canvas.Canvas("K_lista.pdf", pagesize=A4)
> > UnboundLocalError: local variable 'canvas' referenced before
> > assignment
>
> > i haven't posted entire code, because those lines are giving me
> > problems. I've searched the web, and all say that I should make var
> > global inside function. so I did it, but still nothing...
> > using python 2.6.2 and reportlab 2.4
> > help plz :)
>
> The version of mkTable.py you posted is clearly different to the one
> in the traceback. You might want to check that.
>
> Richard.
here's full version of mkTable.py (I've cut out all the drawing code
for clarity)
http://bpaste.net/show/7003/
and it's caller :
http://bpaste.net/show/7004/
and the newest traceback (just generated):
Traceback (most recent call last):
File "C:\py\pdf_test.py", line 36, in <module>
mkTable.mkTable()
File "C:\py\mkTable.py", line 38, in mkTable
canvas.setFillColorRGB(0.8,0.8,0.8)
UnboundLocalError: local variable 'canvas' referenced before assignment
More information about the Python-list
mailing list