Мир упаковки Python - беспорядок (как сказал Посвальд). Вот краткий обзор вместе с кучей указателей. Ваша основная проблема (с помощью setup.py и т. Д.) Решается путем прочтения руководства distutils , которое msw упомянул в своем комментарии.
Теперь для грязи. Базовая инфраструктура модулей распространения, которая находится в стандартной библиотеке Python, - это distutils, упомянутые выше. В некотором смысле он ограничен, поэтому над ним был написан ряд расширений, называемых setuptools. Setuptools наряду с фактическим расширением функциональности предоставили командную строку «installer» под названием «easy_install».
Обслуживание Setuptools было не слишком велико, поэтому оно было разветвлено, и была настроена более активная ветвь, называемая «распространять», и сейчас это предпочтительная альтернатива. В дополнение к этому была создана замена для easy_install с именем pip, которая была более модульной и полезной.
Сейчас идет огромный проект, который пытается объединить все изменения из дистрибутива и прочего в единую библиотеку, которая войдет в stdlib. Это предварительно называется "distutils2".