What happened in version 3?
It seems really weird to me that an interpreter for a programming language can't handle code written for older versions of the code. Like I have some old K&R C that still compiles just fine with a C18 compiler. I have ancient Java that works with a recent JRE, I have 10+ year old JS that works in modern browsers. Sure, I get warnings about deprecated functions and constructs, but the compiler / engine is intelligent to work around that by simply branching to the old compiler's code So what happened to Python 3 that is making migrating from the 2.x series so difficult?
I have very, very little experience with Python, but a wealth of experience with plenty of other languages ranging from ADA to Java, and even PowerHell. And they all have some method of running the old code, and when introducing incompatible updates to previous code, they'll almost always just implemented new functions instead.