[PyKDE] plugins and py2exe in PyQt4
    Giovanni Bajo 
    rasky at develer.com
       
    Sun Feb 25 18:03:50 GMT 2007
    
    
  
On 25/02/2007 17.21, Phil Thompson wrote:
>> Following on from previous threads, e.g.
>> http://www.mail-archive.com/pykde@mats.imk.fraunhofer.de/msg09585.html and
>> http://www.mail-archive.com/pykde@mats.imk.fraunhofer.de/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
    
    
More information about the PyQt
mailing list