Python "OverflowError"

Estoy empezando a aprender a codificar en Python. Estoy tratando de escribir un código para responder a esta pregunta del Proyecto Euler:

Los factores primos de 13195 son 5, 7, 13 y 29.

¿Cuál es el mayor factor primo del número 600851475143?

Mi programa funciona con el caso de prueba de 13195, pero cuando intento ingresar 600851475143, aparece el error: "OverflowError: range () results tiene demasiados elementos" ¿Alguien sabe cómo puedo solucionarlo?

Aquí está mi código:

class Euler3:
    "A class to find the largest prime factor of a given number"
     n = 600851475143
     primeFactors = []
     for i in range(2,n):
         if (n%i ==0):
            primeFactors.append(i)
            n = n/i
            i = i -1 #reset i
     print primeFactors

Cualquier ayuda o sugerencia sería muy apreciada!

Respuestas a la pregunta(8)

Su respuesta a la pregunta