You can use a list comprehension for a more compact (and potentially faster) code:
import random
# Fixed seed for repetitive results
const_seed = 200
# Bounds of numbers
n_min = 0
n_max = 2
# Final number of values
n_numbers = 5
# Seed and retrieve the values
random.seed(const_seed)
numbers = [random.uniform(n_min, n_max) for i in range(0, n_numbers)]
print(numbers)
By always seeding with the same number your sequence of numbers will be the same (at least on the same platform - i.e. computer). Here is a confirmation from the official documentation.
This is the requested version that generates integers following a uniform distribution (the above creates floats). The smallest possible integer is the length of a string and the largest is 2,000,000:
import random
# Fixed seed for repetitive results
const_seed = 200
# Bounds of numbers
some_string = 'aString'
n_min = len(some_string)
n_max = 2000000
# Final number of values
n_numbers = 5
# Seed and retrieve the values
random.seed(const_seed)
numbers = [random.randint(n_min, n_max) for i in range(0, n_numbers)]
print(numbers)