= setuptools [http://peak.telecommunity.com/DevCenter/setuptools setuptools] is a Python module that helps to compile, distribute and install Python packages by wrapping them into "egg"s. Eggs contain additional information to process dependencies, etc. Trac [TracPlugins plugins] can be packaged as eggs since [milestone:0.9]. Starting with [milestone:0.11] Trac itself can also be packaged using setuptools. Installed setuptools version can be checked with the following commands (should work for other Python packages too): {{{#!sh $ python Python 2.3.5 >>> import setuptools >>> setuptools.__version__ '0.7a1' }}} Setuptools can be installed using bootstrap script from PyPi ([https://pypi.python.org/pypi/setuptools#installation-instructions installation instructions]): {{{#!sh $ wget https://bootstrap.pypa.io/ez_setup.py -O - | python }}} Notes: - you shouldn't be using setuptools prior to **0.6c10** (if so, look for the notes in an [./@9 earlier version] of this page - if you're using Python 2.4 (still supported for 0.12-stable) or Python 2.5, you won't be able to use a recent version of setuptools. You can still install an earlier version: - grab and execute the older [http://peak.telecommunity.com/dist/ez_setup.py ez_setup.py] script, you'll then have 0.6c11, which is enough if you're installing from a trac checkout made with Subversion 1.6 but problematic for newer Subversion version - with easy_install from 0.6c11, install the latest Python 2.4/2.5 compatible version of the new setuptools: `easy_install -U setuptools==1.4.2` - if you're using setuptools versions **5.4** through **5.6**, the environment variable `PKG_RESOURCES_CACHE_ZIP_MANIFESTS` should be set, otherwise the performance of Trac will be significantly degraded. - Linux: `$export PKG_RESOURCES_CACHE_ZIP_MANIFESTS=1` - Windows: `>set PKG_RESOURCES_CACHE_ZIP_MANIFESTS=1` setuptools include "easy_install" script for convenient installation of packages found on [http://pypi.python.org/pypi/setuptools/ Python Package Index] including Trac with all necessary dependencies. {{{#!sh $ python -m easy_install Trac }}} == Reference Documentation - [http://peak.telecommunity.com/DevCenter/setuptools setuptools] - [http://peak.telecommunity.com/DevCenter/PkgResources pkg_resources] (setuptools) - [http://packages.python.org/distribute/pkg_resources.html pkg_resources] (Distribute) - [http://peak.telecommunity.com/DevCenter/EggFormats .egg format] ---- See also: TracDev/Proposals/Setuptools