[Distutils] svn tagging setuptools command

Phillip J. Eby pje at telecommunity.com
Mon Aug 29 01:44:21 CEST 2005


At 06:32 PM 8/28/2005 -0500, Ian Bicking wrote:
>Phillip J. Eby wrote:
>>At 03:07 PM 8/28/2005 -0500, Ian Bicking wrote:
>>
>>>I don't know if setup.py is the right frontend for all of these.  One
>>>specific issue is that one command creates the basic framework of a
>>>package, including a setup.py file.  But maybe setuptools could be
>>>extended to support two kinds of entry points: one that is applied
>>>globally (what it currently has), and one that is applied only on demand
>>>(for framework-specific commands).
>>
>>My thought is that at some point (0.7?) setuptools will have a 'nest' 
>>script that runs general-purpose commands, and it will have its own entry 
>>point group for commands to install, list, uninstall, etc.
>
>I suppose this would be a good place for a command to setup a new project 
>(since that's kind of package management -- at least chronologically); 
>would it be an appropriate entry point for other more project-specific 
>commands?  It doesn't seem like it to me; but then setup.py seems 
>appropriate for those commands.

Yep.


>I think for the command plugins, I'd imagine:
>
>setup(
>   ....
>   setup_plugins=['spec1', 'spec2', ...])
>
>Which writes to .egg-info/setup_plugins.txt (one line per 
>requirement).  Then it includes any 'distutils.extra_commands' entry 
>points from those eggs, which act exactly like distutils.commands.

I'm confused.  If you want to add custom commands to a particular project's 
setup.py, you just supply the standard distutils 'cmdclass' argument to 
setup, e.g.:

     setup(
         ...
         cmdclass = {'mycommand':mycommand}
     )

Conversely, if what you mean is that you'd like to ensure that certain 
distutils extensions are available when setup.py runs, then you should use 
the 'setup_requires' argument (see the setuptools docs).


>Or maybe it could be something in setup.cfg?  I'd actually find this sort 
>of thing quite awkward in setup.py, since setup.py can't be (reasonably) 
>written to.

I'm still not following you.  Configuration for custom commands of course 
can always be put in setup.cfg.


>Incidentally, is it possible to put setup.cfg in the .egg-info directory 
>or somewhere?

No; that file belongs to the distutils, and the distutils decree that it's 
found in the setup.py directory.



More information about the Distutils-SIG mailing list