I got around it pretty easily using vsql directly, calling it using Python's subprocess module, and capturing stdout.
I was looking at the Vertica data type table, and both CHAR and VARCHAR can hold up to 65,000 bytes. I'm guessing that's what the problem is. Maybe one could create a table with a single column of type LONG VARCHAR (holds up to 32*10^6 bytes) and then select into that, and then retrieve from that.
I made the post even though I had a workaround just to make sure it wasn't me making a dumb mistake.