Skip to content

Instantly share code, notes, and snippets.

@kracekumar
Created February 3, 2013 11:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kracekumar/4701354 to your computer and use it in GitHub Desktop.
Save kracekumar/4701354 to your computer and use it in GitHub Desktop.
Quora question about python-packaging.
Q: Could someone differentiate between the various package management systems in Python - distutils, distutils2,
setuptools/easy_install, distribute, pip?
While I don't have any difficulties installing Python packages,
I'm slightly lost on the details surrounding each of the listed
Python package management systems - distutils, distutils2,
setuptools/easy_install, distribute, and pip.
I was hoping someone could provide some background on each and
why I should choose one over another
Quora Question Link: http://www.quora.com/Python-programming-language-1/Could-someone-differentiate-between-the-various-package-management-systems-in-Python-distutils-distutils2-setuptools-easy_install-distribute-pip
@tarekziade
Copy link

distutils2 is a fork of distutils, where we decided to be non-backward compatible to do som heavy refactoring. It was supposed to ship in Python 3 under the "packaging" name but got remove before the 3.2 release because considered not matured enough.

It implements all the PEPs we worked on in the last 4 years. "pkgutil" is now a new attempt to provide an implementation of all the PEPs, forked from distutils2, without the commands system.

distribute is a fork of setuptools - It's community-driven and provide python 3 support unlike setuptools.

easy_install is an installer in setuptools. pip is a replacement for easy_install that provide an uninstall feature unlike easy_install, and many other things.

HTH

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment