Python 2/3 mode selection has a number of
issues. While trying to solve some of them, it turned out that the way the Python mode is represented became a bit of a blocker.
This design doc explains the current model and outlines a proposed simplification that should help significantly. Tracking bug
here.
Note that this affects things like srcs_version, default_python_version, and --force_python. Actually controlling what interpreter gets invoked (py_runtime, --python_top) is a separate issue that needs fixing.