Come indicato in alcune domande correlate like here, in genere non è una buona idea giocare con le dimensioni dello stack per estendere la profondità di ricorsione, ma ecco il codice che mostra come far crescere lo stack con quell'effetto. Con python 3.5, su un sistema Windows 10 x64, dimostra una ricorsione molto profonda che è normalmente impossibile (il limite di ricorsione normalmente consentito nella mia situazione sembra essere 993). Non so quanto sia grande lo stack in realtà, ma con metà delle dimensioni specificate di seguito, Python si blocca.
import sys
import threading
class SomeCallable:
def __call__(self):
try:
self.recurse(99900)
except RecursionError:
print("Booh!")
else:
print("Hurray!")
def recurse(self, n):
if n > 0:
self.recurse(n-1)
SomeCallable()() # recurse in current thread
# recurse in greedy thread
sys.setrecursionlimit(100000)
threading.stack_size(0x2000000)
t = threading.Thread(target=SomeCallable())
t.start()
t.join()
`
Se è possibile modificare il codice sorgente, vedere http://stackoverflow.com/questions/5061582/setting-stacksize-in-a-python-script –