[Distutils] setuptools: extras_require

Ian Bicking ianb at colorstudy.com
Thu Jul 14 05:59:23 CEST 2005

Phillip J. Eby wrote:
> At 01:02 PM 7/13/2005 -0500, Ian Bicking wrote:
>> If easy_install.py had a develop option that would do it.  Like:
>>   easy_install.py Paste[HTTP,examples]
>>   easy_install.py --develop Paste
>> Where --develop downloads the package (not the egg), and does 
>> "setup.py develop" or something.  Maybe, kind of -- at least, you'd 
>> end up with the entire Paste source package, but the prereqs would be 
>> installed normally.
> The problem is no way to make links to checkouts, remember?  I guess we 
> could finally implement that anchor idea, and then you could include the 
> link in your PyPI long_description, where easy_install could find it.

Yes, I was thinking the two went together.  I had forgotten about the 
anchor idea; I'll give that another look and try to produce a patch.

What would that link actually look like? 
http://svn.pythonpaste.org/Paste/trunk#Paste-devel-trunk ?  I'm not sure 
what the version number should be.

>>   And I guess if you didn't run the first command, all the prereqs 
>> would be installed in development?
> Yeah, the develop command installs dependencies now.
> Personally, I don't think a --develop option should be recursive; I 
> think it should apply only to the packages you explicitly list.

That seems sensible to me as well.

>>   I don't know.  The same issues perhaps apply to documentation 
>> (though personally documentation matters much less to me, since it can 
>> be published directly to the web).
> There might also be some use to having tests appear only in development 
> checkouts, and not in the actual eggs.  Setuptools has an undocumented 
> "feature" system that lets you use --with-X and --without-X options to 
> control whether a set of packages or extensions are included in the 
> build, although there are some limitations to its functioning when you 
> don't clean up the "build" directory between option changes.  (Which is 
> one reason it's undocumented.)

What would X be?  --with-foo.tests?  I go back and forth with including 
tests in the package that's being tested, or putting it in a sibling 
directory.  Generally I'd see tests as a development files like examples 
or documentation.  Hmm... I can almost see these as being like scripts, 
being installed in a separate configurable location.

Ian Bicking  /  ianb at colorstudy.com  / http://blog.ianbicking.org

More information about the Distutils-SIG mailing list