On Sunday 06 August 2006 8:22 am, Luis Miguel Morillas wrote:
> 2006/8/5, Jeremy Kloth <[EMAIL PROTECTED]>:
> > For data files, it uses the __loader__ module attribute.  If PyInstaller
> > does not support PEP 302, it is seriously broken as the other freezing
> > applications (py2exe, py2app and cx_Freeze) support this just fine.
>
> I don't have such a deeper knowledge of pkg_resources and freezing
> apps, but I'm getting similar errors with cx_freeze (see
> http://livingpyxml.python-hosting.com/wiki/PkgResourcesProblem).
>
> cx_freeze and py2exe don't support setuptools yet.

They don't support .egg distributions, but they do support the use of 
pkg_resources for data files.  pkg_resources(Requirement('4Suite')) won't 
work, but pkg_resources('Ft.Data', 'default.cat') does work.

> pyinstaller analysis system is better than cx_freeze one. Remember
> that 4suite apps needed a hack to be freezed
> (http://copia.ogbuji.net/blog/2005-12-11/Recipe_for). PyInstaller only
> fails with some C extensions.

The "hack" you are referring to is the "hidden" imports that are introduced by 
the C extensions and some runtime loading of Python modules via __import__.  
Both of which cannot be found without actually running the code against all 
possible inputs.  For example, all the XSLT elements are loaded on demand via 
a dispatch table, so it is impossible to know that they will be required for 
4XSLT to operate.  In other words, that hack, in some form or another, is 
required for *ALL* freezing tools.

If PyInstaller at some point chooses to support zipimports, I have fixes in 
the pipeline that will make it Just Work, but I don't have time to figure out 
yet another freezing application. Although I have no problems providing 
whatever information is needed to get PyInstaller to support zipimports.

-- 
Jeremy Kloth
http://4suite.org/
_______________________________________________
PyInstaller mailing list
[email protected]
http://lists.hpcf.upr.edu/mailman/listinfo/pyinstaller

Reply via email to