On Wed, May 25, 2016 at 3:12 AM, Steven D'Aprano <st...@pearwood.info> wrote: >> 2: In my process later on I get: "OverflowError: long too big to >> convert". > > Can you copy and paste the actual traceback rather than retyping it from > memory? I think you're missing something, namely what the long is being > converted to. The rest of the traceback will help too. > > >> This happens in different places and seems to always relate to >> obtaining a length of something (dict or list created by list >> comprehension). Fx >> >> "for i in xrange(0, len_of_stuff, max_section_size):" >> >> en_of_stuff is always less than the max long (around 600). > > What do you mean, "the max long"? Longs do not have a max value. The only > limit is the amount of memory you have.
A Python long doesn't, but an ssize_t does. In certain places, Python integers get converted into C integers, at which point an over-large value triggers OverflowError. >>> xrange(1<<100) Traceback (most recent call last): File "<stdin>", line 1, in <module> OverflowError: Python int too large to convert to C long >>> xrange(1,500,1<<100) Traceback (most recent call last): File "<stdin>", line 1, in <module> OverflowError: Python int too large to convert to C long (Note: Doesn't happen with a Py3 range object.) But I echo the request for a copied and pasted error message. ChrisA -- https://mail.python.org/mailman/listinfo/python-list