Different python versions confusion under Windows Vista x64

Edward Diener eldiener at tropicsoft.invalid
Mon Jul 19 21:50:28 EDT 2010


On 7/19/2010 5:45 PM, Edward Diener wrote:
> On 7/19/2010 9:15 AM, Alf P. Steinbach /Usenet wrote:
>> * Edward Diener, on 19.07.2010 14:53:
>>> In Windows Vista x64 I have installed python 2.6 64-bit version and
>>> python 3.1 64-bit version to separate folders. Within the command
>>> interpreter I add python 2.6 to the PATH.
>>>
>>> In the command interpreter, When I type python somescript.py with an
>>>
>>> import sys
>>> print (sys.version)
>>>
>>> in the script, it shows:
>>>
>>> 3.1.2 (r312:79149, Mar 20 2010, 22:55:39) [MSC v.1500 64 bit (AMD64)]
>>>
>>> In the command interpreter if I type 'python' I see:
>>>
>>> Python 2.6.5 (r265:79096, Mar 19 2010, 18:02:59) [MSC v.1500 64 bit
>>> (AMD64)] on win32
>>>
>>> Does anybody have any ideas why this is happening ?
>>
>> At a guess your description of what's happening is not entirely accurate.
>>
>> Although it could be, since Windows moves in mysterious ways.
>>
>> Please try the following commands in sequence, with no other commands:
>>
>> python -V
>> echo %path%
>> ftype python.file
>> python somescript.py
>>
>> Then right-click the command interpreter's title bar to get edit menu.
>> /Mark/ the text of your commands and results. Then /copy/ it to the
>> clipboard (note: you can't use [Ctrl C] here, use the edit menu or just
>> press Enter). Then post the commands and results here, /paste/ them into
>> your message (e.g. [Ctrl V]).
>>
>> And then, if you haven't already figured it out, somebody probably will.
>> :-)
>
> I figured out the cause. One of the Python scripts started with:
>
> #!Path/to/Python31Executable
>
> which evidently caused python 3.1 to be called to run that script. I am
> not sure that script was run via an 'import' statement, as opposed to a
> 'python someScript.py' within another script, but I suspect the latter.

No, this is incorrect. The cause had nothing to do with the above. It 
was because .py files were associated with the 3.1 version of Python, no 
Python folder was in the PATH, and a Pyhton script invoked python 
passing it a .py file. So even though the initial command specified the 
2.6 version of Python on a script, subsequent scripts were run using 
Python 3.1.

I since changed the association of .py files to the 2.6 version of 
Python and everything works correctly.



More information about the Python-list mailing list