The code in this book is written in Python 2 and OpenCV 2.4.9. At the time of writing, these were the defaults on Raspbian and provided the path of least resistance for getting the reader up and running with building behaviors on the robot. OpenCV for Python 3 was a many-hour compilation, although since the majority of the chapters were proofed, Piwheels provides a less painful path to getting that working. This is with the exception of the Mycroft section, for which Python 3 on the MyCroft assistant is the default and the path of least resistance.
However, all the code on the robot can be adapted for Python 3, and has been tested with it. The OpenCV parts do change a little, too.
Code could be backported and made polyglot, but it was felt that explaining this polyglot code along with the behavior would obscure the code and make it harder to explain...