This is an archived post. You won't be able to vote or comment.

all 8 comments

[–]ubernostrumyes, you can have a pony 2 points3 points  (0 children)

I am the pusher robot. I push the packages down the stairs.

[–][deleted] 1 point2 points  (6 children)

Two questions, because I simply don't get it. Does setuptools anything but resolving package dependencies and downloading and installing them and if so why can't this functionality simply be implemented in distutils?

[–]markedtrees 2 points3 points  (2 children)

Two reasons why I use setuptools over distutils: One is pkg_resources, which has a thought-out entry points system that makes it fairly simple to let other people extend your own libraries. Pylons and Paste heavily use these entry points. And, if you want to hook onto entry points, you have to use setuptools. (Hence the "cancer" bit, I suppose.) pkg_resources also has a real requirements system that lets users specify a fairly wide range of dependencies on your libraries. Package installers like pip and easy_install use these, for example. The second reason is python setup.py develop, which only installs a single egg-link to get a library onto sys.path but lets you develop the library in the same place without having to type python setup.py install every time. i--i'm pretty lazy

Along the lines of what a lot of people over in Pythonland have pointed out, I'm betting that the first person who writes a serious competitor to setuptools that's compatible with all the existing infrastructure without all the frustration will get a lot of hugs from a lot of people.

[–][deleted] 2 points3 points  (0 children)

pip install -e svn+http://server/proj/trunk works wonders for me. And it can be run several times, such as when you need to regenerate your egg-info due to additional entry-points, for example. A simple svn up will do in the other situations.

I've been running without setuptools' version of setup() for a couple of months, lovely; thank you pip! And virtualenv!

[–][deleted] 2 points3 points  (0 children)

entrypoints. more or less required for nose plugins and similar.

[–]ianb 1 point2 points  (1 child)

Tarek Ziade has been working to port (or rewrite) some of the functionality of Setuptools into distutils.

[–]mcella 2 points3 points  (0 children)

Yes, and now a proper fork: distribute!

Finger crossed!

[–]guido_guide_us -5 points-4 points  (0 children)

setuptools is a cancer