You should close the
ZipFile when you're done writing to
it. Otherwise, to quote the documentation, "essential records will not be written"
until you do.
The cleanest way to do it is using the
compression=zipstream.ZIP_DEFLATED) as zf:
# ...write to zf...