Seeding issues when using model with Dirichlet and Gamma

Since you are new to Python and PyMC3, I would suggest you to do everything under python3 - we will sunset the support of py2.7 next year, so likely we are not going to spend time debugging this.

One possible reason is that, in your code you are doing tune=10, so there are 10 values before you finally do print(trace['tau']). You can try trace = pm.sample(1, tune=10, chains=1, random_seed=seed, discard_tuned_samples=False) and check whether the first value is the same after setting seed. It could be that the first value is the same but somewhere the metropolis acceptance diverge.