gerador em Python gerando números primos

Eu preciso gerar números primos usando o gerador em Python. Aqui está o meu código:

def genPrimes():
    yield 2
    x=2
    while True:
        x+=1
        for p in genPrimes():
            if (x%p)==0:
                break
        else:
            yield x

Eu tenho um RuntimeError: profundidade de recursão máxima excedida após o segundo prime.next () quando eu executá-lo.