setuptools is not technically required, but is strongly recommended. (pip is not technically supported, though it may also be used.)
Most Linux distributions make setuptools available within their package management system. On Debian-based systems, you can install it with:
$ apt-get install python-setuptools
setuptools is available at http://pypi.python.org/pypi/setuptools#downloads. (You'll need to scroll down just a bit to find the installer links.)
Unfortunately the executable installer will only work if you're using 32-bit Python. If you need 64-bit Python, then you must follow these instructions in order to install setuptools.
If you're using 32-bit Python, choose an executable installer built for the Python version you've got installed. As of this writing, here's the latest link:
Choose a Package Index
Although Rattail is available on the Python Package Index, and may be downloaded/installed directly from there, you may wish to consider restricting your package search to an alternate index (e.g. http://pypi.edbob.org/simple/).
Rattail depends on many other Python packages which have been contributed by other members of the development community, but it tries to be as "open-minded" as possible about which versions of those packages it requires. In other words, Rattail typically will declare such a dependency by name only, and will not officially require/exclude a particular version unless a known problem exists (in which case it will restrict the version).
This is intentional, so that various Rattail installations may use whichever versions of the dependency packages they like (or need). However, since these packages are maintained by other developers, and have release schedules of their own which are in no way related to Rattail's, this opens the door for untested combinations of software. (For example, Rattail v0.3 may have been developed with Pyramid v1.3, but using Pyramid v1.4 with Rattail v0.3 may break something.)
Really this is all to say that you have two choices:
- Stick with the official Python Package Index, and be willing to troubleshoot dependency version problems if/when they arise, or
- Restrict your package search to an alternate index, which contains only "known-good" versions of dependency packages.
Official Package Index
If you prefer to use the official Python Package Index, then you're done! This package index will be used by default, so there is nothing to configure.
Should you discover version incompatibilities, please know that they are to be considered bugs in Rattail. As such, feel free to report them. (See WelcomePage for how to do so.)
Alternate Package Index
If you aren't interested in the "bleeding edge" and would prefer to play it safe, then you may wish to restrict your package search to an alternate index. There is (probably) more than one way to do this, and the choice of which alternate index to use is yours to make also.
Using an alternate index is a matter of (creating or) modifying your distutils.cfg file. Where this file is located will vary by operating system. (See the following sections for clues about its location.) If the file doesn't exist, create it.
You'll need to know the hostname and URL of the package index you intend to use. Assuming you want Rattail's official index, your distutils.cfg should look like this:
[easy_install] index_url = http://pypi.edbob.org/simple allow_hosts = pypi.edbob.org
Note that this method will only restrict the package search when easy_install is used. Restricting the search with pip is not (yet) supported.
Should you wish to host your own index, there is definitely more than one way to go about that. Rattail's official index uses compoze; you may wish to start there for more information.
The location of the distutils.cfg file will likely vary between Linux distributions. On Debian with Python 2.6, it should be at:
On Windows, the path to your distutils.cfg file (assuming a typical installation to C:\Python27) would be: