KeyError Setting Mixture Proportions for Mixture Model

@lucianopaz, I’m noticing some interesting behavior now that I’ve updated python to 3.5. I installed pymc 3.6 using pip3 install.

The odd behavior I’m observing is that sometimes the code runs, but other times it doesn’t. After running the code two consecutive times, I got:

Traceback (most recent call last):
  File "test.py", line 114, in <module>
    res = pymc3.sample_prior_predictive(n)
  File "/usr/local/lib/python3.5/dist-packages/pymc3/sampling.py", line 1325, in sample_prior_predictive
    values = draw_values([model[name] for name in names], size=samples)
  File "/usr/local/lib/python3.5/dist-packages/pymc3/distributions/distribution.py", line 369, in draw_values
    size=size)
  File "/usr/local/lib/python3.5/dist-packages/pymc3/distributions/distribution.py", line 463, in _draw_value
    return param.random(point=point, size=size)
  File "/usr/local/lib/python3.5/dist-packages/pymc3/model.py", line 43, in __call__
    return getattr(self.obj, self.method_name)(*args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/pymc3/distributions/mixture.py", line 152, in random
    w = draw_values([self.w], point=point)[0]
  File "/usr/local/lib/python3.5/dist-packages/pymc3/distributions/distribution.py", line 400, in draw_values
    size=size)
  File "/usr/local/lib/python3.5/dist-packages/pymc3/distributions/distribution.py", line 508, in _draw_value
    output = np.array([func(*v) for v in zip(*values)])
TypeError: zip argument #2 must support iteration

AND

Traceback (most recent call last):
  File "test.py", line 114, in <module>
    res = pymc3.sample_prior_predictive(n)
  File "/usr/local/lib/python3.5/dist-packages/pymc3/sampling.py", line 1325, in sample_prior_predictive
    values = draw_values([model[name] for name in names], size=samples)
  File "/usr/local/lib/python3.5/dist-packages/pymc3/distributions/distribution.py", line 369, in draw_values
    size=size)
  File "/usr/local/lib/python3.5/dist-packages/pymc3/distributions/distribution.py", line 463, in _draw_value
    return param.random(point=point, size=size)
  File "/usr/local/lib/python3.5/dist-packages/pymc3/model.py", line 43, in __call__
    return getattr(self.obj, self.method_name)(*args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/pymc3/distributions/mixture.py", line 166, in random
    size=size).squeeze()
  File "/usr/local/lib/python3.5/dist-packages/pymc3/distributions/distribution.py", line 621, in generate_samples
    samples = [generator(*args, **kwargs).reshape(size_tup + (1,)) for _ in range(np.prod(suffix, dtype=int))]
  File "/usr/local/lib/python3.5/dist-packages/pymc3/distributions/distribution.py", line 621, in <listcomp>
    samples = [generator(*args, **kwargs).reshape(size_tup + (1,)) for _ in range(np.prod(suffix, dtype=int))]
  File "/usr/local/lib/python3.5/dist-packages/pymc3/distributions/dist_math.py", line 322, in random_choice
    size = kwargs.pop('size')
KeyError: 'size'