Stack Exchange
for i in range(start,end): RecursionError: maximum recursion depth exceeded in comparison
def quicksort(arr):
    quick(arr,0,len(arr)-1)

def quick(arr,start,end):
    if start < end:
        pindex = partition(arr,start,end)
        quick(arr,start,pindex-1)
        quick(arr,pindex-1,end)
        return arr

def partition(arr,start,end):
    pivot = arr[end]
    pindex = start-1
    for i in range(start,end):
        if arr[i] <= pivot:
            pindex = pindex+1
            arr[pindex],arr[i] = arr[i],arr[pindex]
    arr[pindex+1],arr[end] = arr[end],arr[pindex+1]
    return pindex+1


You should describe the problem better by giving a descriptive title and then stating your doubt in the question body.

The problem with your code is that the line quick(arr, pindex - 1, end) will never end because following your code's logic, pindex - 1 will always be less than end, thus the program will continue recurring. P.S. You would also need to add a return at the end of quick() and quicksort() to make the function return anything.

change is in line
quick(arr,pindex-1,end) => quick(arr,pindex+1,end)

otherwise it will stuck in recursion 
correct code should be
def quicksort(arr):
    return quick(arr,0,len(arr)-1)

def quick(arr,start,end):
    if start < end:
        pindex = partition(arr,start,end)
        quick(arr,start,pindex-1)
        quick(arr,pindex+1,end) #quick(arr,pindex-1,end) => quick(arr,pindex+1,end)
        return arr

def partition(arr,start,end):
    pivot = arr[end]
    pindex = start-1
    for i in range(start,end):
        if arr[i] <= pivot:
            pindex = pindex+1
            arr[pindex],arr[i] = arr[i],arr[pindex]
    arr[pindex+1],arr[end] = arr[end],arr[pindex+1]
    return pindex+1

