
At 02:58 PM 1/20/2006 -0500, Chris Lambacher wrote:
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
Note that easy_install now supports using -f with a directory name, so you don't need to have it do an HTTP fetch; just use the local directory path instead of the http: URL.
that I am interested in. Then I add all the new directories in tmpdir to my python path and call setup.py py2exe.
FYI, if you configure the egg directory to be a "site" directory, you won't need to add them to sys.path manually. See: http://peak.telecommunity.com/DevCenter/EasyInstall#administrator-installati... and replace all the '~/lib/python2.3' references with your desired tmpdir. Then, when you easy_install the eggs to the tmpdir, they will get put on sys.path automatically.
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.
That's going to have to wait until setuptools is more directly integrated with py2exe. At some point, it should be possible for py2exe to just swallow all the needed eggs into the library zipfile, after automatically updating. But that's not going to happen for a while yet.