No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
fabvenv
README
setup.py

README

fabric-virtualenv - Fabric functions for working with remote virtualenvs
========================================================================

fabric-virtualenv provides Fabric functions for creating virtualenvs on remote
servers, as well as installing packages to them, and running other Fabric
operations in the context of the virtualenv.

``fabvenv.virtualenv(path)``

    A context manager that performs all nested operations in the context of the
    virtualenv `path`.

    For example::

        >>> from fabvenv import virtualenv
        >>> with virtualenv('/home/me/venv/'):
        ...     run('python foo')

    It is highly recommended to use an absolute path, as Fabric's ``cd()``
    contextmanager is always applied BEFORE ``virtualenv()``, regardless of how
    they are nested.

``fabvenv.make_virtualenv(path, dependencies=[], eggs=[], system_site_packages=True)``

    Create or update a virtualenv in path, installing the given packages and eggs.

    * ``path`` - The path to the virtualenv. This path will be created if it does not already exist.
    * ``dependencies`` - a list of paths or URLs to Python packages to install with ``pip``.
    * ``eggs`` - a list of paths or URLs to eggs to install with ``easy_install``. Eggs can be used to speed up deployments that require libraries to be compiled.
    * ``system_site_packages`` - If True, the newly-created virtualenv will expose the system site package. If False, these will be hidden.
    * ``python_binary`` - If not None, should be the path to python binary that will be used to create the virtualenv.

``fabvenv.prepare_virtualenv()``

    Ensure a version of the ``virtualenv`` command is available on the remote
    server. If none exists, a standalone virtualenv.py script will be
    downloaded from the virtualenv github and saved as ``~/virtualenv.py``.

    The virtualenv command that is prepared is available as ``env.virtualenv``.


Changelog
---------

* **0.2.1** - Fix bug in make_virtualenv with virtualenv.py installed by prepare_virtualenv.

* **0.2.0** - make_virtualenv now updates ``system_site_packages`` flag on previously-created virtualenvs.