When Python *Eggs* better than Python *distutils*?? What's Eggs?
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
* 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 |
Ben Finney <http://www.benfinney.id.au/>
More information about the Python-list