The Automate book uses Python 3. I made the switch to Python 3 years ago.
Python 2 still does have significant sway (estimated at about 85% or so of developers). But this book is for beginners who will be writing small scripts, not developers working on large existing projects. Unless you need to work on existing code where it would be too expensive to migrate,
you should be using Python 3. At this point, most of Python's modules have been updated with Python 3 compatibility.
One the main changes for Python 3 was handling unicode text in a way that forces developers to understand unicode issues. With Python 2, the Python interpreter "helpfully" lets you ignore this (but your code will probably crash when it encounters non-ascii characters). I highly recommend Ned Batchelder's talk on Unicode: it is perfect for understanding both Unicode and what changes went into Python 3:
Pragmatic Unicode, or, How to Stop the Pain
I think the main reason Python 3 hasn't caught on is that there hasn't yet been enough gotta-have, Python 3 only features to encourage people to switch. Though Python 3 certainly has been making a lot of headway in this direction (check out the "What's New in Python 3.X" documents for 3.0 to 3.5)
Automate the Boring Stuff with Python, a free book for beginners.
https://automatetheboringstuff.com
If you like the book (or even hate it), please write an Amazon review!