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
_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to