On 01/03/2010 19:22, Chris Withers wrote:
P.J. Eby wrote:
At 10:41 AM 2/25/2010 -0500, Olemis Lang wrote:
PS: BTW, how could I trigger easy_install(ation) at a given point
while implementing a distutils command, and let the command perform
further actions if deps are installed correctly ?

Setuptools' "Distribution" object has a method for fetching dependencies. See setuptools' "test" command for an example. (This doesn't install the dependencies globally, just drops eggs into the build directory. But they're there and available to be reused for installation in a later phase, under normal circumstances.)

...which is all pretty grim. If you use this with other packaging tools, like, say, buildout, the testing dependencies just get dumped into your buildout, which is a bit yucky to put it mildly.

How about putting them where other eggs get put but only making them available for the tests?

Failing that, how about putting them somewhere temporary?

For distutils 2 / distribute I think the idea is something along the lines of:

There will be a Test-Requires-Dist (or equivalent) field for specifying test dependencies - still to be confirmed

distutils2 by default won't install any dependencies for you - so neither "setup.py install" nor "setup.py test" will install test dependencies

distribute will install standard dependencies but not test dependencies by default

with distribute "setup.py test" will *not* install test dependencies - there will be a new parameter for install to tell it to fetch test dependencies (if necessary)

This is all still subject to discussion and really belongs on the distutils mailing list rather than here. It may be possible for "setup.py test" with distribute to have another parameter telling it to install test dependencies temporarily and then uninstall them afterwards...

All the best,

Michael


Chris



--
http://www.ironpythoninaction.com/
http://www.voidspace.org.uk/blog

READ CAREFULLY. By accepting and reading this email you agree, on behalf of 
your employer, to release me from all obligations and waivers arising from any 
and all NON-NEGOTIATED agreements, licenses, terms-of-service, shrinkwrap, 
clickwrap, browsewrap, confidentiality, non-disclosure, non-compete and 
acceptable use policies (”BOGUS AGREEMENTS”) that I have entered into with your 
employer, its partners, licensors, agents and assigns, in perpetuity, without 
prejudice to my ongoing rights and privileges. You further represent that you 
have the authority to release me from any BOGUS AGREEMENTS on behalf of your 
employer.


_______________________________________________
Distutils-SIG maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to