3.x and 2.x on same machine (is this info at Python.org??)

Nobody nobody at nowhere.com
Sat Nov 14 22:55:25 CET 2009

On Fri, 13 Nov 2009 06:05:48 -0500, Dave Angel wrote:

>>> Currently i am using 2.6 on Windows and need to start writing code in
>>> 3.0. I cannot leave 2.x yet because 3rd party modules are still not
>>> converted. So i want to install 3.0 without disturbing my current
>>> Python2.x. What i'm afraid of is that some SYSVARIABLE will get
>>> changed to Python3.0 and when i double click a Python script it will
>>> try and run Python 3.x instead of 2.x. I only want to run 3.0 scripts
>>> from the command line... > python3.x myscript.py
>>> So how do i do this? Is my fear unfounded?
>> Windows determines the double-click action based on the file
>> extension.  You just have to make sure that *.py files are associated
>> with 2.x.
>> http://support.microsoft.com/kb/307859
> And if someone simply wants to check or change these associations 
> without all the Explorer nonsense, one can use
>    assoc.exe    and    ftype.exe

That isn't reliable.

The Windows registry has two distinct sets of mappings.

HKEY_LOCAL_MACHINE\Software\Classes contains system-wide mappings, while
HKEY_CURRENT_USER\Software\Classes contains per-user mappings. The
per-user mappings are checked first, with the system-wide mappings acting
as a fall-back. AFAICT, assoc and ftype modify the system-wide mappings,
so if you have a per-user mapping, they have no effect.

Note that HKEY_CLASSES_ROOT is a "virtual" key obtained by merging the
above two keys (analogous to a view in an RDBMS).


More information about the Python-list mailing list