setuptools is a
package development process
A software package development process is a system for developing software packages. Packages make it easier to reuse and share code, e.g., via a software repository. A formal system for package checking can help expose bugs, thereby potentially ...
library designed to facilitate packaging
Python
Python may refer to:
Snakes
* Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia
** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia
* Python (mythology), a mythical serpent
Computing
* Python (pro ...
projects by enhancing the Python standard library (distribution utilities). It includes:
*Python package and module definitions
*Distribution package metadata
*Test hooks
*Project installation
*Platform-specific details
*Python 3 support
History
On 2004-03-17, Phillip J. Eby announced the existence of the project. In 2013, Distribute, a fork of setuptools, was merged back into setuptools 0.7.
Package format
Python wheels have replaced eggs.
Python eggs are a way of bundling additional information with a Python project, that allows the project's dependencies to be checked and satisfied at runtime, as well as allowing projects to provide
plugins
Plug-in, plug in or plugin may refer to:
* Plug-in (computing) is a software component that adds a specific feature to an existing computer program.
** Audio plug-in, adds audio signal processing features
** Photoshop plugin, a piece of software t ...
for other projects.
Package manager
Python pip has replaced EasyInstall.
''EasyInstall'' is a
package manager for Python that provides a standard format for distributing Python programs and
libraries (based on the Python Eggs format). EasyInstall is a module bundled with setuptools. It is analogous to
RubyGems
RubyGems is a package manager for the Ruby programming language that provides a standard format for distributing Ruby programs and libraries (in a self-contained format called a "gem"), a tool designed to easily manage the installation of gems ...
for
Ruby
A ruby is a pinkish red to blood-red colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sa ...
.
EasyInstall is not a fully fledged package manager. It cannot list local packages nor update them all.
Pip and
Python Package Manager
Python Package Manager (''PyPM'') is a Python utility intended to simplify the tasks of locating, installing, upgrading and removing Python packages. It can determine if the most recent version of a software package is installed on a system, and ca ...
(PyPM) are Python applications designed to fulfill a similar role as EasyInstall. The Distribute fork was created specifically due to the lack of progress in EasyInstall development.
By default, EasyInstall looks in the
Python Package Index (PyPI) for the desired packages and uses the metadata there to download and install the package and its dependencies.
See also
*
Buildout
Buildout is an open-source software build tool. Buildout is created using the Python programming language. It implements a principle of separation of configuration from the scripts that do the setting up.
Buildout is primarily used to download a ...
- software build tool designed to handle Python package dependencies
*
Software repository
References
External links
*
PyPI project page*
{{Package management systems
Free package management systems