(Erasing entire history, since you both top-posted, and it's too confusing)
When you run a xxx.py on Windows, it locates the python.exe using the
registry entries set up by assoc and ftype. But when you run "python"
it looks for python.exe (or python.bat, or ...) on the PATH. So there's
not necessarily any conection between your tests. You're probably
running two different versions.
Easiest way to know which python is being used is to run it same way:
e:\python31\temp> python 2to3.py -w mycalc.py
Or the way I do it, have python31.bat and python26.bat, which launch the
exact pythons that I want.
DaveA