Har du prøvet at vælge et af resultatsættene?
for result in cursor.stored_results():
people = result.fetchall()
Det kan være, at den allokerer til flere resultatsæt, selvom du kun har én SELECT
stmt. Jeg ved, at i PHP's MySQLi lagrede procedurer gør dette for at give mulighed for INOUT og OUT variable returneringer (som du igen ikke har nogen af, men måske allokerer den alligevel).
Den komplette kode jeg bruger (som virker) er:
import mysql.connector
cnx = mysql.connector.connect(user='me',password='pw',host='localhost',database='mydb')
cnx._open_connection()
cursor = cnx.cursor()
cursor.callproc("getperson",[1])
for result in cursor.stored_results():
people=result.fetchall()
for person in people:
print person
cnx.close()