Changes between Version 1 and Version 2 of Packaging


Ignore:
Timestamp:
2007-07-16T17:46:22Z (17 years ago)
Author:
zooko
Comment:

add notes about setuptools

Legend:

Unmodified
Added
Removed
Modified
  • Packaging

    v1 v2  
    1414
    1515 * Make it convenient for someone to use other versions of the packages that we use e.g. system-wide packages or newer or alternate versions, etc..
     16
     17== setuptools ==
     18
     19One option is to use a Python packaging tool named [http://cheeseshop.python.org/pypi/setuptools setuptools].
     20
     21Advantages (note that each of these are options provided by setuptools, not requirements imposed by the use of setuptools):
     22
     23 * management of dependencies (even on platforms that don't have a native package manager);  This is the important feature.
     24
     25 * integration with http://cheeseshop.python.org/ -- with setuptools we can update the [http://cheeseshop.python.org/pypi/allmydata-tahoe allmydata-tahoe metadata at the cheeseshop] automatically, and also upload packages to be distributed from cheeseshop
     26
     27 * for hackers who want to use Tahoe, and who like setuptools, this makes using Tahoe convenient and pleasant for them
     28
     29 * replace "build/configure/package/distribute/test/develop" code written in the Make language with code written in Python;  One specific instance of this is {{{./setup.py test}}} which runs the unit tests
     30
     31Disadvantages:
     32
     33 * We haven't figured out exactly how to take advantage of setuptools's dependency management while also integrating smoothly with platform-specific package managers such as Debian apt.  I (Zooko) think that this is possible, but it isn't yet standard practice among setuptools users.  One important detail is the special option to setuptools called {{{--single-version-externally-managed}}}.