They should have made the Python 3 interpreter able to embed the Python 2 interpreter. It would’ve then been possible to mark projects as 3 while they continue to import 2 libraries.
This is similar to Rust's approach of using language "editions" separately from compiler versions (presumably because they learned from this migration).