Problem in installation of pyro in google Colab

What is the problem?
I am fairly new to pyro. So am trying to run a Bayesian neural network using pyro on google colab. I installed Pytorch first and when wrote : !pip3 install pyro-ppl it shows requirements satisfied. But on importing gives No module called ‘Constraints’ error… What to do? Pls help.
import pyro
from pyro.distributions import Normal, Bernoulli # noqa: F401
from pyro.infer import SVI
from pyro.optim import Adam
pyro.get_param_store().clear()

Error:


ImportError Traceback (most recent call last)
in ()
----> 1 import pyro
2 from pyro.distributions import Normal, Bernoulli # noqa: F401
3 from pyro.infer import SVI
4 from pyro.optim import Adam
5

/usr/local/lib/python3.6/dist-packages/pyro/init.py in ()
3 import logging
4
----> 5 import pyro.poutine as poutine
6 from pyro.poutine import condition, do
7 from pyro.primitives import (clear_param_store, enable_validation, get_param_store, iarange, irange, module, param,

/usr/local/lib/python3.6/dist-packages/pyro/poutine/init.py in ()
1 from future import absolute_import, division, print_function
2
----> 3 from .handlers import block, condition, do, enum, escape, indep, infer_config, lift, replay, queue, scale, trace
4 from .runtime import NonlocalExit
5 from .trace_struct import Trace

/usr/local/lib/python3.6/dist-packages/pyro/poutine/handlers.py in ()
55 from pyro.poutine import util
56
—> 57 from .block_messenger import BlockMessenger
58 from .condition_messenger import ConditionMessenger
59 from .enumerate_messenger import EnumerateMessenger

/usr/local/lib/python3.6/dist-packages/pyro/poutine/block_messenger.py in ()
1 from future import absolute_import, division, print_function
2
----> 3 from .messenger import Messenger
4
5

/usr/local/lib/python3.6/dist-packages/pyro/poutine/messenger.py in ()
1 from future import absolute_import, division, print_function
2
----> 3 from .runtime import _PYRO_STACK
4
5

/usr/local/lib/python3.6/dist-packages/pyro/poutine/runtime.py in ()
----> 1 from pyro.params.param_store import _MODULE_NAMESPACE_DIVIDER, ParamStoreDict # noqa: F401
2
3 # the global pyro stack
4 _PYRO_STACK = []
5

/usr/local/lib/python3.6/dist-packages/pyro/params/init.py in ()
1 from future import absolute_import, division, print_function
2
----> 3 from pyro.params.param_store import module_from_param_with_module_name, param_with_module_name, user_param_name
4
5 all = [

/usr/local/lib/python3.6/dist-packages/pyro/params/param_store.py in ()
4
5 import torch
----> 6 from torch.distributions import constraints, transform_to
7
8

ImportError: cannot import name ‘constraints’

What version of Pyro, Pytorch, Python are you using? What OS version?
Please include all input and output where relevant, and steps to reproduce

what version of pytorch and pyro do you have installed? that error implies that you dont have the latest of both (pytorch 0.4 and pyro 0.2)

This works for me in google colab:

!pip install http://download.pytorch.org/whl/cpu/torch-0.4.0-cp27-cp27mu-linux_x86_64.whl 
!pip install pyro-ppl