On 25/02/2007 17.21, Phil Thompson wrote:

Following on from previous threads, e.g.
http://www.mail-archive.com/[email protected]/msg09585.html and
http://www.mail-archive.com/[email protected]/msg09565.html ,
the widget-plugins directory does not exist if a script is converted to an
exe file using py2exe (well it exists in a zip file, but that's hard to
solve). This means you can't load ui files in the program.

An easy workaround would be for objcreator.py to ignore loading plugins if
the plugin directory does not exist. Would it be possible to have a check
for the directory or a catch for the exception?

I would prefer to see the real bug in py2exe fixed.

I maintain PyInstaller. Personally, I can't do anything to fix this, if objcreator.py insists on unconditionally calling os.listdir(). I suggest two solutions:

1) Modify objcreator.py to use the not-standard-but-almost-and-widely-used pkg_resources API. PyInstaller does not support this yet, but pkg_resources is already very extensible, and PyInstaller (at runtime) could register a hook to let it find resource files in any way they're packaged (eg. PyInstaller even supports encryption...).

2) The same as above, but rolling up your own API instead of relying on pkg_resources.

#1 looks like the best option of course, since I don't like having to reinvent the wheel. It also means that PyInstaller, py2exe and others just have to support pkg_resources.
--
Giovanni Bajo

_______________________________________________
PyKDE mailing list    [email protected]
http://mats.imk.fraunhofer.de/mailman/listinfo/pykde

Reply via email to