Re: [cx-freeze-users] namespace package import
Brought to you by:
atuining
From: Craig S. <cra...@nr...> - 2010-02-25 14:51:00
|
Sorry to be a pain, but when I try this for my setup.py: from cx_Freeze import setup, Executable version = '1.0' includes=['lxml', 'lxml._elementpath', 'lxml.etree', 'gzip', 'gfmodel', 'gfserve r', 'chameleon', 'paste', 'webob', 'urllib'] namespaces = ['zope', 'repoze', 'paste', 'rubbish', 'wind'] packages = ['wind.model', 'wind.server', 'lxml', 'paste'] setup(name='gearfacts', version=version, options = { "build_exe" : { "namespace_packages": namespaces, "includes": includes, "packages": packages, }, }, executables=[Executable('run.py')], ) the error trace from python says: Import Error: No Module Named 'wind.server' wind.model goes in fine (along with all the sub-modules). Am I still doing something wrong? I've tried a bunch of variations and can't my 'wind' packages completely in. Craig On Feb 24, 2010, at 1:14 PM, Anthony Tuininga wrote: > On Wed, Feb 24, 2010 at 12:33 PM, Craig Swank <cra...@nr...> > wrote: >> Your example did work. The problem I'm having is the sub-modules in >> the namespace packages. Here is what I'm observing. If I put my >> custom namespace in the namespace packages list ('wind'), then the >> build has a wind directory with a server and model subdirectory >> inside. This is as it should be. These sub-directories are empty, >> however. I'm finding that they can be populated by explicitly >> importing each module in my top level script that is being frozen. >> >> My wind.server package looks like: >> >> wind >> server >> models >> my_model.py >> views >> my_view.py >> ... >> ... >> (plus about 15 more python files in this dir). >> >> So I can make it work by importing all the modules from the views >> directory. Is this the expected behavior? It is not that big of a >> deal to have to do, but it would be nice if I just specifying the >> 'wind' namespace would take care of all that. > > There is just such an option -- the "packages" option. If you specify > "include" or "namespace_packages" options these simply import the > module themselves -- specifically the __init__.py and any of its > dependencies that can be determined statically. If you want __all__ of > the submodules to be included then you need to use the "packages" > option, which is a list of package names. If you do that you should be > okay. > >> I'm very happy with your fixes for this, by the way. My current >> situation is ten times better than where I stood a couple of days >> ago. Now it looks very possible I'll be able to deploy this app with >> its crazy dependencies. > > You're welcome. Glad to be of help. > > Anthony > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > cx-freeze-users mailing list > cx-...@li... > https://lists.sourceforge.net/lists/listinfo/cx-freeze-users |