I haven’t used this myself, but take a look at the python_binary compatibility option:
https://www.pantsbuild.org/build_dictionary.html
I believe if you want to build binaries for python 2 & 3 you could have two python_binary targets, each with the same options, but with each target customizing the “compatibility” arg.