Can you try to execute this:
def get_factors(n):
factors = {2:[2]}
primes = [2]
for i in range(3,n):
factors[i] = []
for p in primes:
if i%p == 0:
factors[i].append(p)
factors[i].extend(factors[i/p])
break
if not factors[i]:
factors[i].append(i)
primes.append(i)
print("factored")
file = open("factors.txt","w")
for k in factors:
file.write(str((k,factors[k])))
file.write("\n")
file.close()
print("done")
get_factors(1000000)