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