Jacob Kaplan-Moss

Nobody expects Python packaging!

I wrote this post in 2009, more than 14 years ago. It may be very out of date, partially or totally incorrect. I may even no longer agree with this, or might approach things differently if I wrote this post today. I rarely edit posts after writing them, but if I have there'll be a note at the bottom about what I changed and why. If something in this post is actively harmful or dangerous please get in touch and I'll fix it.

Python has one package distribution system: source files and setup.py install.

And easy_install.

Python has two package distribution systems: setup.py install and easy_install. And zc.buildout.

Python has three package distribution systems: setup.py install, easy_install, and zc.buildout. And pip.

Amongst Python’s package distribution are such diverse elements as…