Konstantin Zemlyak added the comment:

There is something weird with my proposed fix. Right after submitting a bug 
with patch I've updated pythons on my system - 2.7.5 to 2.7.6, 3.3.2 to 3.3.3, 
and installed 3.4.0b1 - both 32- and 64-bit. Then my fixed py.exe stopped 
working.

Then I've added _setmode for stdin/stdout/stderr and rebuilt both debug/release 
and x86/x64 versions:

E:\>set PYLAUNCH_DEBUG=1

E:\>e:\cpython\PCbuild\py.exe юникод.py
launcher build: 32bit
launcher executable: Console
launcher charset: Multi-byte
File 'C:\Users\Zart\AppData\Local\py.ini' non-existent
File 'e:\cpython\PCbuild\py.ini' non-existent
Called with command line: .py
maybe_handle_shebang: read 211 bytes
maybe_handle_shebang: BOM not found, using UTF-8
parse_shebang: found command: python3
locating Pythons in 64bit registry
locate_pythons_for_key: unable to open PythonCore key in HKCU
locate_pythons_for_key: "C:\Program Files\Python27\python.exe" is a 64bit 
executable
locate_pythons_for_key: "C:\Program Files\Python2\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python2\PCBuild\amd64\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python32\python.exe" is a 64bit 
executable
locate_pythons_for_key: "C:\Program Files\Python3\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python3\PCBuild\amd64\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python33\python.exe" is a 64bit 
executable
locate_pythons_for_key: "C:\Program Files\Python3\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python3\PCBuild\amd64\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python34\python.exe" is a 64bit 
executable
locate_pythons_for_key: "C:\Program Files\Python3\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python3\PCBuild\amd64\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locating Pythons in native registry
locate_pythons_for_key: unable to open PythonCore key in HKCU
locate_pythons_for_key: "C:\Program Files (x86)\Python27\python.exe" is a 32bit 
executable
locate_pythons_for_key: "C:\Program Files (x86)\Python2\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files 
(x86)\Python2\PCBuild\amd64\python.exe: Синтаксическая ошибка в имени файла, 
имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files (x86)\Python32\python.exe" is a 32bit 
executable
locate_pythons_for_key: "C:\Program Files (x86)\Python3\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files 
(x86)\Python3\PCBuild\amd64\python.exe: Синтаксическая ошибка в имени файла, 
имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files (x86)\Python33\python.exe" is a 32bit 
executable
locate_pythons_for_key: "C:\Program Files (x86)\Python3\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files 
(x86)\Python3\PCBuild\amd64\python.exe: Синтаксическая ошибка в имени файла, 
имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files (x86)\Python34\python.exe" is a 32bit 
executable
locate_pythons_for_key: "C:\Program Files (x86)\Python3\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files 
(x86)\Python3\PCBuild\amd64\python.exe: Синтаксическая ошибка в имени файла, 
имени папки или метке тома.
found configured value 'python3=3.3-32' in environment
search for Python version '3.3-32' found '"C:\Program Files 
(x86)\Python33\python.exe"'
run_child: about to run '"C:\Program Files (x86)\Python33\python.exe" .py'
C:\Program Files (x86)\Python33\python.exe: can't open file '.py': [Errno 2] No 
such file or directory
child process exit code: 2

E:\>e:\cpython\PCbuild\py_d.exe юникод.py
launcher build: 32bit
launcher executable: Console
launcher charset: Multi-byte
File 'C:\Users\Zart\AppData\Local\py.ini' non-existent
File 'e:\cpython\PCbuild\py.ini' non-existent
Called with command line: юникод.py
maybe_handle_shebang: read 211 bytes
maybe_handle_shebang: BOM not found, using UTF-8
parse_shebang: found command: python3
locating Pythons in 64bit registry
locate_pythons_for_key: unable to open PythonCore key in HKCU
locate_pythons_for_key: "C:\Program Files\Python27\python.exe" is a 64bit 
executable
locate_pythons_for_key: "C:\Program Files\Python2\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python2\PCBuild\amd64\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python32\python.exe" is a 64bit 
executable
locate_pythons_for_key: "C:\Program Files\Python3\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python3\PCBuild\amd64\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python33\python.exe" is a 64bit 
executable
locate_pythons_for_key: "C:\Program Files\Python3\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python3\PCBuild\amd64\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python34\python.exe" is a 64bit 
executable
locate_pythons_for_key: "C:\Program Files\Python3\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python3\PCBuild\amd64\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locating Pythons in native registry
locate_pythons_for_key: unable to open PythonCore key in HKCU
locate_pythons_for_key: "C:\Program Files (x86)\Python27\python.exe" is a 32bit 
executable
locate_pythons_for_key: "C:\Program Files (x86)\Python2\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files 
(x86)\Python2\PCBuild\amd64\python.exe: Синтаксическая ошибка в имени файла, 
имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files (x86)\Python32\python.exe" is a 32bit 
executable
locate_pythons_for_key: "C:\Program Files (x86)\Python3\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files 
(x86)\Python3\PCBuild\amd64\python.exe: Синтаксическая ошибка в имени файла, 
имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files (x86)\Python33\python.exe" is a 32bit 
executable
locate_pythons_for_key: "C:\Program Files (x86)\Python3\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files 
(x86)\Python3\PCBuild\amd64\python.exe: Синтаксическая ошибка в имени файла, 
имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files (x86)\Python34\python.exe" is a 32bit 
executable
locate_pythons_for_key: "C:\Program Files (x86)\Python3\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files 
(x86)\Python3\PCBuild\amd64\python.exe: Синтаксическая ошибка в имени файла, 
имени папки или метке тома.
found configured value 'python3=3.3-32' in environment
search for Python version '3.3-32' found '"C:\Program Files 
(x86)\Python33\python.exe"'
run_child: about to run '"C:\Program Files (x86)\Python33\python.exe" юникод.py'
Привет
child process exit code: 0

E:\>e:\cpython\PCbuild\amd64\py.exe юникод.py
launcher build: 64bit
launcher executable: Console
launcher charset: Multi-byte
File 'C:\Users\Zart\AppData\Local\py.ini' non-existent
File 'e:\cpython\PCbuild\amd64\py.ini' non-existent
Called with command line: юникод.py
maybe_handle_shebang: read 211 bytes
maybe_handle_shebang: BOM not found, using UTF-8
parse_shebang: found command: python3
locating Pythons in 32bit registry
locate_pythons_for_key: unable to open PythonCore key in HKCU
locate_pythons_for_key: "C:\Program Files (x86)\Python27\python.exe" is a 32bit 
executable
locate_pythons_for_key: "C:\Program Files (x86)\Python2\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files 
(x86)\Python2\PCBuild\amd64\python.exe: Синтаксическая ошибка в имени файла, 
имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files (x86)\Python32\python.exe" is a 32bit 
executable
locate_pythons_for_key: "C:\Program Files (x86)\Python3\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files 
(x86)\Python3\PCBuild\amd64\python.exe: Синтаксическая ошибка в имени файла, 
имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files (x86)\Python33\python.exe" is a 32bit 
executable
locate_pythons_for_key: "C:\Program Files (x86)\Python3\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files 
(x86)\Python3\PCBuild\amd64\python.exe: Синтаксическая ошибка в имени файла, 
имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files (x86)\Python34\python.exe" is a 32bit 
executable
locate_pythons_for_key: "C:\Program Files (x86)\Python3\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files 
(x86)\Python3\PCBuild\amd64\python.exe: Синтаксическая ошибка в имени файла, 
имени папки или метке тома.
locating Pythons in native registry
locate_pythons_for_key: unable to open PythonCore key in HKCU
locate_pythons_for_key: "C:\Program Files\Python27\python.exe" is a 64bit 
executable
locate_pythons_for_key: "C:\Program Files\Python2\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python2\PCBuild\amd64\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python32\python.exe" is a 64bit 
executable
locate_pythons_for_key: "C:\Program Files\Python3\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python3\PCBuild\amd64\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python33\python.exe" is a 64bit 
executable
locate_pythons_for_key: "C:\Program Files\Python3\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python3\PCBuild\amd64\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python34\python.exe" is a 64bit 
executable
locate_pythons_for_key: "C:\Program Files\Python3\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python3\PCBuild\amd64\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
found configured value 'python3=3.3-32' in environment
search for Python version '3.3-32' found '"C:\Program Files 
(x86)\Python33\python.exe"'
run_child: about to run '"C:\Program Files (x86)\Python33\python.exe" юникод.py'
Привет
child process exit code: 0

E:\>e:\cpython\PCbuild\amd64\py_d.exe юникод.py
launcher build: 64bit
launcher executable: Console
launcher charset: Multi-byte
File 'C:\Users\Zart\AppData\Local\py.ini' non-existent
File 'e:\cpython\PCbuild\amd64\py.ini' non-existent
Called with command line: никод.py
maybe_handle_shebang: read 211 bytes
maybe_handle_shebang: BOM not found, using UTF-8
parse_shebang: found command: python3
locating Pythons in 32bit registry
locate_pythons_for_key: unable to open PythonCore key in HKCU
locate_pythons_for_key: "C:\Program Files (x86)\Python27\python.exe" is a 32bit 
executable
locate_pythons_for_key: "C:\Program Files (x86)\Python2\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files 
(x86)\Python2\PCBuild\amd64\python.exe: Синтаксическая ошибка в имени файла, 
имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files (x86)\Python32\python.exe" is a 32bit 
executable
locate_pythons_for_key: "C:\Program Files (x86)\Python3\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files 
(x86)\Python3\PCBuild\amd64\python.exe: Синтаксическая ошибка в имени файла, 
имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files (x86)\Python33\python.exe" is a 32bit 
executable
locate_pythons_for_key: "C:\Program Files (x86)\Python3\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files 
(x86)\Python3\PCBuild\amd64\python.exe: Синтаксическая ошибка в имени файла, 
имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files (x86)\Python34\python.exe" is a 32bit 
executable
locate_pythons_for_key: "C:\Program Files (x86)\Python3\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files 
(x86)\Python3\PCBuild\amd64\python.exe: Синтаксическая ошибка в имени файла, 
имени папки или метке тома.
locating Pythons in native registry
locate_pythons_for_key: unable to open PythonCore key in HKCU
locate_pythons_for_key: "C:\Program Files\Python27\python.exe" is a 64bit 
executable
locate_pythons_for_key: "C:\Program Files\Python2\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python2\PCBuild\amd64\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python32\python.exe" is a 64bit 
executable
locate_pythons_for_key: "C:\Program Files\Python3\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python3\PCBuild\amd64\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python33\python.exe" is a 64bit 
executable
locate_pythons_for_key: "C:\Program Files\Python3\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python3\PCBuild\amd64\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python34\python.exe" is a 64bit 
executable
locate_pythons_for_key: "C:\Program Files\Python3\PCBuild\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
locate_pythons_for_key: "C:\Program Files\Python3\PCBuild\amd64\python.exe: 
Синтаксическая ошибка в имени файла, имени папки или метке тома.
found configured value 'python3=3.3-32' in environment
search for Python version '3.3-32' found '"C:\Program Files 
(x86)\Python33\python.exe"'
run_child: about to run '"C:\Program Files (x86)\Python33\python.exe" никод.py'
C:\Program Files (x86)\Python33\python.exe: can't open file '<unprintable file 
name>': [Errno 2] No such file or directory
child process exit code: 2




Setting wide mode for stderr had fixed error messages in debug output. And 
looks like x64 debug build has off-by-one error and CRT behavior is wonky 
regarding command-line handling. So my patch doesn't really fix original 
problem yet exhibits some underlying crt bug.

----------
versions:  -Python 3.4

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

Reply via email to