Procedure Generation – Generate various Perlin Noise cards with one seed

I'm developing a 2D game in Python and I could make Perlin Noise work with this code:

Import time
Import noise

POSITIVE = 10
NEGATIVE = -10

BLOCK = "#"
BLOCK_LIMITS = (POSITIVE, 0.3)

WATER = "-"
WATER_LIMITS = (0,3, -0,4)

GRASS = ""
GRASS_LIMITS = (-0.4, NEGATIVE)

Oct = 1
outputString = str ()

def GENERATE_MAP ():
global output string

for y in the range (1000):
outputString + = "["
        for x in range(165):
            i = round(noise.pnoise2(x / 15, y / 15, octaves = oct), 5)
                if i > 0.4:
                    outputString += BLOCK
                elif i < -0.5:
                    outputString += WATER
                else:
                    outputString += GRASS
        outputString += "] n "

time = timeit.timeit (GENERATE_MAP, number = 1)
print (output string)
print ("time =" + str (time))

But this creates the same terrain every time, so I thought to use seeds, but I do not know how to do that.
I use Python 3.6 with noise.