On Fri, Jan 20, 2006 at 12:35:56PM -0500, Phillip J. Eby wrote: > At 06:25 PM 01/19/2006 -0500, Chris Lambacher wrote: > >Hi, > > > >I have several apps that I distribute to customers using py2exe. I have > >also > >written modules which these apps share. Up to now I have not had any > >modules written in C so to build my py2exe apps I just set the PYTHONPATH > >environment variable to point to the module's location in CVS and run > >setup.py > >py2exe. This is convenient because release builds are done via Buildbot > >on a > >dedicated computer. All buildbot has to do is check out the source and run > >setup.py. > > > >I now have my first C module and have been trying to work out how to deal > >with > >building the module. I would prefer to build the module and 'release' it > >for > >use with my two apps. > > > >What I would like to do is build up an egg for the library and copy it to a > >known location. Then have the apps use the setuptools require_install > >directive to allow me to get the egg and 'install' it into the build > >directory > >somewhere and then let the rest of the py2exe magic work. > > > >I think I know where to add my call into setuptools from py2exe, but I > >cannot > >figure out what setup_tools function to call in order to do the > >'installation'. > > Run "setup.py develop" in the source tree of each project, starting with > the dependencies and working your way up to the main application. Then run > py2exe. > > See also the py2exe Wiki, which has a page of tips for using py2exe with > eggs. However, if you have source checkouts for all the things your > application includes, you don't need to worry about unzipping eggs. This is almost what I want, but I want to release my modules and have my app builds pick them up as eggs.
When I build my module eggs, I publish them to a directory that an http server indexes. I then I have a build script that calls 'easy_install -m -Z -d tmpdir -f http://myserver/eggs module' for each module that I am interested in. Then I add all the new directories in tmpdir to my python path and call setup.py py2exe. The advantage of this is that each time I build I could potentially be using a different version of the module. I don't have to worry about not getting updates to that libarary because I am building a point release of my app on some strange branch. I wanted to make this action triggered by install_requires in the py2exe command, I am instead doing this externally before the py2exe command. > > Note that this will *not* include egg metadata in your .exe build, so if > you are using packages that require such metadata, they may not work > correctly when embedded. Not a problem for me, I am not that sofisticated yet :) Thanks for the help, Chris _______________________________________________ Distutils-SIG maillist - [email protected] http://mail.python.org/mailman/listinfo/distutils-sig
