make self-extracting virtualenvs
make a self-extracting virtualenv from directories or URLs of packages
To package up all files in a virtualenvs source directory (e.g.):
python path/to/carton.py myproject project/src/*
This will create a self-extracting file,
myproject.py, that will unfold
a virtualenv with the specified packages setup for development
The sources may be directories, local or HTTP-accessible tarballs, or ordinary
setup.py`s found in the `src directory after extraction will be
python setup.py develop) in the order they are provided. This makes
it possible to have completely local dependencies (without touching the net)
by correctly specifying the source order. If a
setup.py is overwritten from
a later source, it will not be rerun (known limitation).
The extracted virtualenv will be created in the current directory and will have
the same name as provided initially (e.g.
Normally, the entire contents of source directories are compressed and
packaged as-is. When running with the
--package flag, a source tarball is
python setup.py sdist if the directory contains a top-level
Since directories are compressed as-is, portable file-based VCS repositories, such a mercurial and git, may be cartoned this way (though note that newer repositories may not be backwards-compatible with older clients).