4 Summary: Download, build, install, upgrade, and uninstall Python packages -- easily!
5 Home-page: http://pypi.python.org/pypi/setuptools
7 Author-email: distutils-sig@python.org
9 Description: ===============================
10 Installing and Using Setuptools
11 ===============================
13 .. contents:: **Table of Contents**
16 -------------------------
17 Installation Instructions
18 -------------------------
23 Install setuptools using the provided ``.exe`` installer. If you've previously
24 installed older versions of setuptools, please delete all ``setuptools*.egg``
25 and ``setuptools.pth`` files from your system's ``site-packages`` directory
26 (and any other ``sys.path`` directories) FIRST.
28 If you are upgrading a previous version of setuptools that was installed using
29 an ``.exe`` installer, please be sure to also *uninstall that older version*
30 via your system's "Add/Remove Programs" feature, BEFORE installing the newer
33 Once installation is complete, you will find an ``easy_install.exe`` program in
34 your Python ``Scripts`` subdirectory. Be sure to add this directory to your
35 ``PATH`` environment variable, if you haven't already done so.
41 Install setuptools using the provided source RPM. The included ``.spec`` file
42 assumes you are installing using the default ``python`` executable, and is not
43 specific to a particular Python version. The ``easy_install`` executable will
44 be installed to a system ``bin`` directory such as ``/usr/bin``.
46 If you wish to install to a location other than the default Python
47 installation's default ``site-packages`` directory (and ``$prefix/bin`` for
48 scripts), please use the ``.egg``-based installation approach described in the
52 Cygwin, Mac OS X, Linux, Other
53 ==============================
55 1. Download the appropriate egg for your version of Python (e.g.
56 ``setuptools-0.6c9-py2.4.egg``). Do NOT rename it.
58 2. Run it as if it were a shell script, e.g. ``sh setuptools-0.6c9-py2.4.egg``.
59 Setuptools will install itself using the matching version of Python (e.g.
60 ``python2.4``), and will place the ``easy_install`` executable in the
61 default location for installing Python scripts (as determined by the
62 standard distutils configuration files, or by the Python installation).
64 If you want to install setuptools to somewhere other than ``site-packages`` or
65 your default distutils installation locations for libraries and scripts, you
66 may include EasyInstall command-line options such as ``--prefix``,
67 ``--install-dir``, and so on, following the ``.egg`` filename on the same
68 command line. For example::
70 sh setuptools-0.6c9-py2.4.egg --prefix=~
72 You can use ``--help`` to get a full options list, but we recommend consulting
73 the `EasyInstall manual`_ for detailed instructions, especially `the section
74 on custom installation locations`_.
76 .. _EasyInstall manual: http://peak.telecommunity.com/DevCenter/EasyInstall
77 .. _the section on custom installation locations: http://peak.telecommunity.com/DevCenter/EasyInstall#custom-installation-locations
83 If you are trying to install setuptools for the **Windows** version of Python
84 (as opposed to the Cygwin version that lives in ``/usr/bin``), you must make
85 sure that an appropriate executable (``python2.3``, ``python2.4``, or
86 ``python2.5``) is on your **Cygwin** ``PATH`` when invoking the egg. For
87 example, doing the following at a Cygwin bash prompt will install setuptools
88 for the **Windows** Python found at ``C:\\Python24``::
90 ln -s /cygdrive/c/Python24/python.exe python2.4
91 PATH=.:$PATH sh setuptools-0.6c9-py2.4.egg
98 All setuptools downloads can be found at `the project's home page in the Python
99 Package Index`_. Scroll to the very bottom of the page to find the links.
101 .. _the project's home page in the Python Package Index: http://pypi.python.org/pypi/setuptools#files
103 In addition to the PyPI downloads, the development version of ``setuptools``
104 is available from the `Python SVN sandbox`_, and in-development versions of the
105 `0.6 branch`_ are available as well.
107 .. _0.6 branch: http://svn.python.org/projects/sandbox/branches/setuptools-0.6/#egg=setuptools-dev06
109 .. _Python SVN sandbox: http://svn.python.org/projects/sandbox/trunk/setuptools/#egg=setuptools-dev
111 --------------------------------
112 Using Setuptools and EasyInstall
113 --------------------------------
115 Here are some of the available manuals, tutorials, and other resources for
116 learning about Setuptools, Python Eggs, and EasyInstall:
118 * `The EasyInstall user's guide and reference manual`_
119 * `The setuptools Developer's Guide`_
120 * `The pkg_resources API reference`_
121 * `Package Compatibility Notes`_ (user-maintained)
122 * `The Internal Structure of Python Eggs`_
124 Questions, comments, and bug reports should be directed to the `distutils-sig
125 mailing list`_. If you have written (or know of) any tutorials, documentation,
126 plug-ins, or other resources for setuptools users, please let us know about
127 them there, so this reference list can be updated. If you have working,
128 *tested* patches to correct problems or add features, you may submit them to
129 the `setuptools bug tracker`_.
131 .. _setuptools bug tracker: http://bugs.python.org/setuptools/
132 .. _Package Compatibility Notes: http://peak.telecommunity.com/DevCenter/PackageNotes
133 .. _The Internal Structure of Python Eggs: http://peak.telecommunity.com/DevCenter/EggFormats
134 .. _The setuptools Developer's Guide: http://peak.telecommunity.com/DevCenter/setuptools
135 .. _The pkg_resources API reference: http://peak.telecommunity.com/DevCenter/PkgResources
136 .. _The EasyInstall user's guide and reference manual: http://peak.telecommunity.com/DevCenter/EasyInstall
137 .. _distutils-sig mailing list: http://mail.python.org/pipermail/distutils-sig/
144 * The original design for the ``.egg`` format and the ``pkg_resources`` API was
145 co-created by Phillip Eby and Bob Ippolito. Bob also implemented the first
146 version of ``pkg_resources``, and supplied the OS X operating system version
147 compatibility algorithm.
149 * Ian Bicking implemented many early "creature comfort" features of
150 easy_install, including support for downloading via Sourceforge and
151 Subversion repositories. Ian's comments on the Web-SIG about WSGI
152 application deployment also inspired the concept of "entry points" in eggs,
153 and he has given talks at PyCon and elsewhere to inform and educate the
154 community about eggs and setuptools.
156 * Jim Fulton contributed time and effort to build automated tests of various
157 aspects of ``easy_install``, and supplied the doctests for the command-line
158 ``.exe`` wrappers on Windows.
160 * Phillip J. Eby is the principal author and maintainer of setuptools, and
161 first proposed the idea of an importable binary distribution format for
162 Python application plug-ins.
164 * Significant parts of the implementation of setuptools were funded by the Open
165 Source Applications Foundation, to provide a plug-in infrastructure for the
166 Chandler PIM application. In addition, many OSAF staffers (such as Mike
167 "Code Bear" Taylor) contributed their time and stress as guinea pigs for the
168 use of eggs and setuptools, even before eggs were "cool". (Thanks, guys!)
172 Keywords: CPAN PyPI distutils eggs package management
174 Classifier: Development Status :: 3 - Alpha
175 Classifier: Intended Audience :: Developers
176 Classifier: License :: OSI Approved :: Python Software Foundation License
177 Classifier: License :: OSI Approved :: Zope Public License
178 Classifier: Operating System :: OS Independent
179 Classifier: Programming Language :: Python
180 Classifier: Topic :: Software Development :: Libraries :: Python Modules
181 Classifier: Topic :: System :: Archiving :: Packaging
182 Classifier: Topic :: System :: Systems Administration
183 Classifier: Topic :: Utilities