[New-bugs-announce] [issue38506] Launcher for Windows (py.exe) may rank Python 3.xx (in the future) after 3.x
ynyyn
report at bugs.python.org
Thu Oct 17 10:31:04 EDT 2019
New submission from ynyyn <ynyyn at vip.qq.com>:
I, for interest, read some of source code of Python launcher, and found it used string comparison function (`wcscmp()`, in function `compare_pythons()`) to sort Python version in descending order.
It works well currently. But if Python 3.10 or Python 3.xx comes up in the future, Python 3.xx will be ranked after 3.x.
I modified the Registry and made a fake version Python 3.10, to check the launcher's behaviour.
```
PS > py -0p
Installed Pythons found by C:\Windows\py.exe Launcher for Windows
-3.8-64 D:\Program Files\Python38\python.exe *
-3.7-64 D:\Program Files\Python37\python.exe
-3.7-32 D:\Program Files (x86)\Python37-32\python.exe
-3.6-32 C:\Program Files (x86)\Python36-32\python.exe
-3.10-64 D:\Program Files\Python37\python.exe
-2.7-64 C:\python27-x64\python.exe
```
The result turned out that Python 3.10 was really ranked after 3.x.
And it seems that Python 3.xx should be a valid (or supported) version according to the comment from function `validate_version()`.
```
static BOOL
validate_version(wchar_t * p)
{
/*
Version information should start with the major version,
Optionally followed by a period and a minor version,
Optionally followed by a minus and one of 32 or 64.
Valid examples:
...
2.7-32
The intent is to add to the valid patterns:
3.10
3-32
...
*/
I am not sure whether this is a potential defect that had been confirmed before... But I do not see some relevant comments in the source code.
----------
components: Windows
messages: 354843
nosy: paul.moore, steve.dower, tim.golden, ynyyn, zach.ware
priority: normal
severity: normal
status: open
title: Launcher for Windows (py.exe) may rank Python 3.xx (in the future) after 3.x
type: behavior
versions: Python 3.7, Python 3.8, Python 3.9
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue38506>
_______________________________________
More information about the New-bugs-announce
mailing list