When Python *Eggs* better than Python *distutils*?? What's Eggs?

Ben Finney bignose at polar.local
Tue Dec 20 22:29:01 CET 2005

"seberino at spawar.navy.mil" <seberino at spawar.navy.mil> writes:

> I have been using distuils for a while and was wondering when Python
> Eggs (new project) is better?

Python Eggs, and the 'setuptools' package, are still new, so they're
not yet a core part of Python.

    "The primary benefits of Python Eggs are:

    * They enable tools like the "Easy Install" Python package manager

    * They are a "zero installation" format for a Python package; no
      build or install step is required, just put them on PYTHONPATH
      or sys.path and use them

    * They can include package metadata, such as the other eggs they
      depend on

    * They allow "namespace packages" (packages that just contain
      other packages) to be split into separate distributions
      (e.g. zope.*, twisted.*, peak.* packages can be distributed as
      separate eggs, unlike normal packages which must always be
      placed under the same parent directory. This allows what are now
      huge monolithic packages to be distributed as separate

    * They allow applications or libraries to specify the needed
      version of a library, so that you can
      e.g. require("Twisted-Internet>=2.0") before doing an import

    * They're a great format for distributing extensions or plugins to
      extensible applications and frameworks (such as Trac, which uses
      eggs for plugins as of 0.9b1), because the egg runtime provides
      simple APIs to locate eggs and find their advertised entry
      points (similar to Eclipse's "extension point" concept).

    There are also other benefits that may come from having a
    standardized format, similar to the benefits of Java's "jar"


 \            "There was a point to this story, but it has temporarily |
  `\                 escaped the chronicler's mind."  -- Douglas Adams |
_o__)                                                                  |
Ben Finney <http://www.benfinney.id.au/>

More information about the Python-list mailing list