python setuptools?
Kevin Turner
kevin at janrain.com
Mon Mar 19 15:40:58 PST 2007
Should python-openid support setuptools?
If so, which of the following are important:
* there should be up-to-date and accurate information about versions,
download locations, and dependencies in python-openid's cheeseshop
record.
* python-openid should be distributed in .egg format.
* python-openid/setup.py should import setuptools.
* python-openid/setup.py should invoke the ez_setup bootstrap module if
setuptools is not already installed.
I'm bringing this up now because Ben Finney was kind enough to send
patches against the stable release of python-openid for the use of
setuptools. His patch description is as follows:
> - Add the top-level file 'ez_setup.py', a bootstrapping module for
> setuptools allowing setuptools to be automatically downloaded and
> used even if not already installed.
>
> - Changes to 'setup.py' to use setuptools instead of distutils. The
> changes are minor.
I'm referring this to the list because I'm conflicted about accepting
these patches. I am not a big fan of setuptools myself. I know that
even though Python comes with "batteries included", the best way to get
things done is often to depend on code outside of the standard library.
However, I feel that the _code that builds and installs the package_
oughtn't be something that requires a third party dependency.
Setuptools attempts to alleviate this with the ez_setup bootstrap
module, but if I've already downloaded and unpacked a source tarball I
consider downloading and running additional code from the network to be
surprising and unwanted behavior.
For every platform[1] for which I would ever consider deploying a Python
web server on (which covers all the cases I'd use the python-openid
package), there's already a package manager that will handle updates and
dependencies that I'm already using anyway for the non-Python software
on the system.
So that's why I don't care much for setuptools. If some of the work
from that project gets merged in to Python 2.6, that'll probably be okay
by me, but I'm in no hurry to adopt the dependency ahead of time.
But I know that Ben's not the only one who has asked for this. Wichert,
for one, has mentioned that Zope is moving toward egg-based deployment.
What do you think?
Thanks,
- Kevin
1: Ok, there is one situation that doesn't fit the bill: platforms where
I do have both shell access and a Python-enabled web server but not root
-- .deb and the like don't really have provisions for being installed in
to $HOME. But in these days of affordable virtualized servers, that
seems to be becoming less common, not more.
More information about the Dev
mailing list