New submission from pds <pirdir...@gmail.com>: There seem to be 3 problems in Python 3.1.1rc1 Windows installer package.
1. Command line argument of compileall.py seems wrong. 2. UnicodeEncodeError occurs depending on code page. 3. Syntax errors. First, I tried to install Python 3.1.1rc1 just by double-clicking the Windows msi installer package file, python-3.1.1rc1.msi, as an administrator account, with the following environment and settings. Operating System version: Windows XP Professional SP3 (Japanese version) Install options: Install for all users Destination directory: C:\Python31 Advanced options: Enable "Compile .py files to byte code after installation" Then the following dialog message appeared during installation. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor. Despite the message, installation of Python interpreter seemed completed because the programs were registered in Windows start menu. So I uninstalled Python 3.1.1rc1 to make sure the system to be clean, and retried installation with the following command from command prompt so I could see the log file later. msiexec /i python-3.1.1rc1.msi /L*v python-3.1.1rc1.log Installation failed again, and the following is the part of the log file (python-3.1.1rc1.log). MSI (s) (18:50) [15:08:25:096]: Note: 1: 1722 2: CompilePyc 3: C:\Python31\python.exe 4: -Wi "C:\Python31\Lib\compileall.py" -f -x bad_coding|badsyntax|site-packages|py2_ "C:\Python31\Lib" MSI (s) (18:50) [15:08:25:096]: Note: 1: 2262 2: Error 3: -2147287038 Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor. Action CompilePyc, location: C:\Python31\python.exe, command: -Wi "C:\Python31\Lib\compileall.py" -f -x bad_coding|badsyntax|site-packages|py2_ "C:\Python31\Lib" MSI (s) (18:50) [15:10:58:677]: Note: 1: 2262 2: Error 3: -2147287038 MSI (s) (18:50) [15:10:58:677]: Product: Python 3.1.1rc1 -- Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor. Action CompilePyc, location: C:\Python31\python.exe, command: -Wi "C:\Python31\Lib\compileall.py" -f -x bad_coding|badsyntax|site-packages|py2_ "C:\Python31\Lib" Also, installation completes normally if I choose not to compile .py files in advanced options setting during the installer's setup dialog. ------ Problem 1: Command line argument of compileall.py seems wrong. Because installation fails if I choose to compile .py files during installation, I tried to compile .py files manually after installation (without compilation) completes. After finishing installation without compiling .py files, I did the following command from Windows command prompt. C:\Python31\python.exe "C:\Python31\Lib\compileall.py" -f -x bad_coding|badsyntax|site-packages|py2_ "C:\Python31\Lib" And I got the following error message. (My Windows is Japanese version.) 'badsyntax' は、内部コマンドまたは外部コマンド、操作可能なプログラムまた はバッチ ファイルとして認識されていません。 This means, in English, 'badsyntax' is not recognized as an internal or external command, operable program or batch file. So I thought the command would be interpreted correctly if I embrace the following part of the command with "". bad_coding|badsyntax|site-packages|py2_ So I did the following from command prompt. C:\Python31\python.exe "C:\Python31\Lib\compileall.py" -f -x "bad_coding|badsyntax|site-packages|py2_" "C:\Python31\Lib" And the compilation seemed to proceed. However, the log file above (python-3.1.1rc1.log) says the argument is not embraced with "" when compileall.py script is invoked during installation process. I suppose the argument not embraced with "" is one of the reasons why installation process is interrupted. Is this a bug of the installer package? ------ Problem 2: UnicodeEncodeError occurs depending on code page. Compiling .py files seems to proceed by double-quoting the argument discussed above when manually invoking compileall.py script, but the following error occurs. Listing C:\Python31\Lib\lib2to3\tests\data ... Compiling C:\Python31\Lib\lib2to3\tests\data\crlf.py ... *** File "C:\Python31\Lib\lib2to3\tests\data\crlf.py", line 1 print "hi" ^ SyntaxError: invalid syntax Compiling C:\Python31\Lib\lib2to3\tests\data\different_encoding.py ... *** Traceback (most recent call last): File "C:\Python31\Lib\py_compile.py", line 142, in compile codeobject = builtins.compile(codestring, dfile or file,'exec') File "C:\Python31\Lib\lib2to3\tests\data\different_encoding.py", line 3 print u'\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd8\xd9\xda\xdb\xdc\xdd\xde' ^ SyntaxError: invalid syntax During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Python31\Lib\compileall.py", line 72, in compile_dir ok = py_compile.compile(fullname, None, dfile, True) File "C:\Python31\Lib\py_compile.py", line 146, in compile raise py_exc py_compile.PyCompileError: File "C:\Python31\Lib\lib2to3\tests\data\different_encoding.py", line 3 print u'\xdf\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3\xf4\xf5\xf6\xf8\xf9\xfa\xfb\xfc\xfd\xfe\xff\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3\xd4\xd5\xd6\xd8\xd9\xda\xdb\xdc\xdd\xde' ^ SyntaxError: invalid syntax During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Python31\Lib\compileall.py", line 170, in <module> exit_status = int(not main()) File "C:\Python31\Lib\compileall.py", line 160, in main force, rx, quiet): File "C:\Python31\Lib\compileall.py", line 97, in compile_dir quiet): File "C:\Python31\Lib\compileall.py", line 97, in compile_dir quiet): File "C:\Python31\Lib\compileall.py", line 97, in compile_dir quiet): File "C:\Python31\Lib\compileall.py", line 80, in compile_dir print(err.msg) UnicodeEncodeError: 'cp932' codec can't encode character '\xdf' in position 86: illegal multibyte sequence 'cp932' is the default code page of Japanese version of Windows. So I tried the following command to change the current code page of the command prompt window to 850 (Latin-1) before running compileall.py script, aiming to avoid the seemingly code-page specific problem. chcp 850 By doing so, the UnicodeEncodeError seemed to be avoided as expected. ------ Problem 3: Syntax errors. After changing the code page to 850, the UnicodeEncodeError doesn't seem to occur. However, the syntax errors still occur as follows. Compiling C:\Python31\Lib\lib2to3\tests\data\crlf.py ... *** File "C:\Python31\Lib\lib2to3\tests\data\crlf.py", line 1 print "hi" ^ SyntaxError: invalid syntax Compiling C:\Python31\Lib\lib2to3\tests\data\different_encoding.py ... *** File "C:\Python31\Lib\lib2to3\tests\data\different_encoding.py", line 3 print u'ßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ' ^ SyntaxError: invalid syntax I don't know about how these script files (crlf.py and different_encoding.py) are used, but isn't it necessary for those lines of print function to be written like print("hi") because the interpreter version is 3.x? ---------- components: Installation messages: 91662 nosy: pds severity: normal status: open title: Windows install error when choosing to compile .py files type: compile error versions: Python 3.1 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue6716> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com