Nice writeup. Something you maybe left out that will be helpful for the new users is how to install bpython for Python 3.6 on Ubuntu:
$ sudo apt-get install bpython3
A nice thing that I learned about running python programs that I didn't know until recently is to run it like this, it shows more verbose output:
$ python3 -Wd script.py
This is especially cool when you are doing web dev with Django or Flask.
For example if you are using django then you can do:
$ python3 -Wd manage.py test -v 3
Just can use
pip install bpython