Eryk Sun <eryk...@gmail.com> added the comment:

> If it was the tests, they seem to have been fixed elsewhere.

The cited tests haven't been changed to work with non-normalized 
sys.executable, sys.prefix, etc. But it's not common to run the test suite with 
a non-normalized path such as "Lib/../build/python".

> you stated above that on Windows a \\?\ path is possible but 
> will not work for startup, and that you would open an issue 

Sorry, I don't remember the details of the bug that I mentioned. But it became 
a non-issue in 3.6+, which canonicalizes the executable path. For example:

    >>> exe = r'\\?\C:\Program Files\Python36\python.exe'
    >>> cmd = 'python -c "import sys; print(sys.executable)"'
    >>> subprocess.call(cmd, executable=exe)
    C:\Program Files\Python36\python.exe
    0

Compare the latter to the output of GetModuleFileNameW(NULL, ...) in this case, 
which returns a \\?\ extended (verbatim) path:

    >>> exe = r'\\?\C:\Program Files\Python36\python.exe'
    >>> cmd = 'python -c "import _winapi; print(_winapi.GetModuleFileName(0))"'
    >>> subprocess.call(cmd, executable=exe)
    \\?\C:\Program Files\Python36\python.exe
    0

> Do any of the non-normalized Linux (or *nix) executable paths fail for 
> startup?

Not that I'm aware of. AFAIK, it's just about the particular tests failing in 
this case.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue31030>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to