The commit is more interesting than the article:
https://github.com/sympy/sympy/pull/2318
It does fail to mention that you need to also use special exception handling in all cases, eg.
try:
...
except TypeError:
e = exception()
...
...but it hits all the other things, except the obvious, make sure your tests are running continuously using py2, py3 and pypy, otherwise you'll just frustrate yourself as you're coding.