py2exe and CD-ROM ISO Level 1

Werner Merkl werner_DOT_merkl_ at
Fri Oct 29 08:33:05 CEST 2004

Thomas Heller wrote:

> Werner Merkl <werner_DOT_merkl_ at> writes:
>>[still looking for a solution]
>>we have written a Python EXE program, which should run via AUTORUN.INF
>>from a CD/DVD (Windows of course).
>>For this CD/DVD we us a imaging tool from Microsoft, which seam to
>>generate a pure ISO 9660 level 1 image.
>>This means:
>>  - Only upper case letters A-Z and numbers 0-9
>>  - 8.3 file names
>>For Python 2.2 and py2exe 0.4.1 this worked fine. Today, it does not.
>>  - Is there an option to generate a py2exe program with PYTHONCASE set?
>>  - Or do I need a wrapper? (My own C program, setting the environment
>>             and then starting the Python EXE program.)
>>  - Is there a tricky way to start up with code like
>>       "import OS as os"?
>>  - May I use my own case insensitive importer?
>>  - Or do I need to recompile Python?
> What errors exactly do you get?
> Although I have posted before that this wouldn't work, currently I
> believe that it *should* work.
> I tried the 'simple' sample in the py2exe distro, which contains a
> trvivial command line program, plus a simple wxPython program, wrote
> them to an ISO level 1 CD, and it worked.
> 1. The python modules are imported from the zip file, as long as this
> has an 8.3 name, all should be fine.
> 2. Extension modules are loaded with imp.load_dynamic (custom loaders
> are created for them, in py2exe\, the create_loader method).
> As far as I can see, imp.load_dynamic(module_name, file_name) should
> work independent of the case or spelling of 'file_name'.  If the
> extensions you need have filenames with more than 8 characters, you
> could probably subclass the build_exe command.
> Thomas


I recompiled my application as a console program and got following error 

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

Traceback (most recent call last):
   File "D:\PROGS\Python23\lib\site-packages\py2exe\", 
line 69, in ?
     import linecache
zipimport.ZipImportError: can't decompress data; zlib not available
Traceback (most recent call last):
   File "", line 54, in ?
zipimport.ZipImportError: can't decompress data; zlib not available

so I removed "compressed": 1, from and it WORKS!!!
This seems to be a bug in py2exe ????

Thanks a lot

---------------------- part of  ------------------------------
     options = {"py2exe": {# create a compressed zip archive
                           "compressed": 1,
                           "optimize": 2,
                           "packages": ["encodings"],
                           "excludes": excludes}},
     # The lib directory contains everything except the executables and
     #  the python dll.
     # Can include a subdirectory name.
     zipfile = "lib/",
     data_files = [('bin',glob.glob("bin/*")),

##    windows = [AutoRun],
     console = [AutoRun],

More information about the Python-list mailing list