[Distutils] Questionnaire: Why do you use setuptools?

Zooko O'Whielacronx zooko at zooko.com
Tue Apr 21 03:06:03 CEST 2009


Roughly in order of most important to least important:

1.  a formal, machine-readable way to specify our dependencies; see  
XYZ [2]

2.  automatic installation of dependencies;  This reduces the  
"dependencies" section in the instructions for installing Tahoe [1]  
from having sixteen separate software packages with separate  
versioning requirements to having one: Python 2.4.2 through 2.6.

3.  Obviously having even one "dependency" in your installation  
instructions is too many, so we try to provide .deb's, .rpm's, gentoo  
ebuilds, Windows installers (e.g. as produced by py2exe or bbfreeze),  
Macintosh applications, etc.  Many of the tools that produce these  
other formats rely on the above-mentioned feature #1 and/or feature #2.

4.  Some people like to use "easy_install $PACKAGE".  In fact, quite  
a lot of people -- if I recall the results of Tarek's packaging  
survey correctly, it was more popular among the responding Python  
programmers than any other method of installing packages [3].

5.  Using plugins so that you can add features to your build system,  
such as revision control integration, unit testing, versioning,  
pyflakes, uploading, etc. which you re-use as black box modules  
maintained by someone else instead of copying code into your setup.py  
or your GNUmakefile. [4, 5, 6, 7, 8].

6.  Using the console scripts feature of setuptools to make it so  
your scripts that you wrote for Unix also work on Windows.

7.  python setup.py sdist upload register

8.  revision control integration; I want all files under revision  
control to be included in packages.

Regards,

Zooko


More information about the Distutils-SIG mailing list