Even on unix with shebang ( #! ) You do not force which version to run. If the program is not running directly ( ./my.py ) and instead runs as python2 my.py , then Python 2 will be used.
I would suggest that the safest way is to check the version at the beginning of your script and issue with an error message if it does not fit, for example:
if sys.version_info[:3] < (3,2,0): print('requires Python >= 3.2.0') sys.exit(1)
source share