This proved to be quite tricky. I did so for Python 2 and Python 3. Here are my notes:
$ cat /etc/udev/rules.d/51-trezor.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="534c", ATTR{idProduct}=="0001", MODE="0666", GROUP="dialout", SYMLINK+="trezor%n"
KERNEL=="hidraw*", ATTRS{idVendor}=="534c", ATTRS{idProduct}=="0001",  MODE="0666", GROUP="dialout"
sudo apt-get install -y build-essential libusb-1.0-0-dev libusb-dev
- sudo apt-get install -y python-dev virtualenv
- virtualenv --no-setuptools --no-wheel --no-pip --no-site-packages
- . ./virtualenv/bin/activate
- wget https://bootstrap.pypa.io/get-pip.py
- python ./getpip.py
- pip install Cython
- pip instal trezor
- sudo apt-get install -y python3-dev python-venv
- python3 -m venv virtualenv
- . ./virtualenv/bin/activate
- pip install wheel
- pip install --upgrade setuptools
- pip install hidapi
- pip install trezor