py2exe and CD-ROM ISO Level 1
Werner Merkl
werner_DOT_merkl_ at _fujitsu_DASH_siemens.com
Fri Oct 29 02:33:05 EDT 2004
Thomas Heller wrote:
> Werner Merkl <werner_DOT_merkl_ at _fujitsu_DASH_siemens.com> writes:
>
>
>>Hi,
>>
>>
>>[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.
>>
>>So:
>> - 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\build_exe.py, 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
Hi,
I recompiled my application as a console program and got following error
message:
-----------------------------------------------------------------------
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\>e:\AUTORUN.EXE
Traceback (most recent call last):
File "D:\PROGS\Python23\lib\site-packages\py2exe\boot_common.py",
line 69, in ?
import linecache
zipimport.ZipImportError: can't decompress data; zlib not available
Traceback (most recent call last):
File "AutoRun.py", line 54, in ?
zipimport.ZipImportError: can't decompress data; zlib not available
-----------------------------------------------------------------------
so I removed "compressed": 1, from setup.py and it WORKS!!!
This seems to be a bug in py2exe ????
Thanks a lot
Werner
-----------------------------------------------------------------------
---------------------- part of setup.py ------------------------------
[...]
setup(
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/shared.zip",
data_files = [('bin',glob.glob("bin/*")),
('.',['AUTORUN.INF','ReadMe.txt'])],
## windows = [AutoRun],
console = [AutoRun],
)
More information about the Python-list
mailing list