Versions::

    >>> import os
    >>> os.makedirs('download')

Test without install::

    >>> write('buildout.cfg',
    ... """
    ... [buildout]
    ... download-cache = download
    ... parts = test1
    ... versions = versions
    ... [versions]
    ... [test1]
    ... recipe = gp.recipe.pip
    ... eggs = gp.recipe.pip
    ... interpreter = python
    ... """)

    >>> print 'start', system(buildout)
    start...
    Generated interpreter '/sample-buildout/bin/python'...

Test versions::

    >>> write('buildout.cfg',
    ... """
    ... [buildout]
    ... download-cache = download
    ... parts = test1
    ... versions = versions
    ... [versions]
    ... PasteScript=1.7.2
    ... [test1]
    ... recipe = gp.recipe.pip
    ... install =
    ...     PasteScript
    ... interpreter = python
    ... scripts =
    ...     paster = paster
    ... """)

    >>> print 'start', system(buildout)
    start...
    ...Installing /sample-buildout/parts/pip/lib/python2.5/site-packages/PasteScript-1.7.2-py2.5-nspkg.pth
    ...

    >>> print 'cat', cat('bin', 'paster')
    cat .../parts/pip/bin/python
    ...

Assume caching::

    >>> ls('download')
    d  dist
    -  http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2FP%2FPaste%2FPaste-1.7.2.tar.gz
    -  http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2FP%2FPaste%2FPaste-1.7.2.tar.gz.content-type
    -  http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2FP%2FPasteDeploy%2FPasteDeploy-1.3.3.tar.gz
    -  http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2FP%2FPasteDeploy%2FPasteDeploy-1.3.3.tar.gz.content-type
    -  http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2FP%2FPasteScript%2FPasteScript-1.7.2.tar.gz
    -  http%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2FP%2FPasteScript%2FPasteScript-1.7.2.tar.gz.content-type

