Você já tentou escolher um dos conjuntos de resultados?
for result in cursor.stored_results():
people = result.fetchall()
Pode ser que esteja alocando para vários conjuntos de resultados, mesmo que você tenha apenas um
SELECT
stm. Eu sei que os procedimentos armazenados do MySQLi do PHP fazem isso para permitir retornos de variáveis INOUT e OUT (o que, novamente, você não tem nenhum, mas talvez esteja alocando de qualquer maneira). O código completo que estou usando (que está funcionando) é:
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()