Enthought Deployment Manager

Release v3.6.0.

Enthought Deployment Manager (EDM) is Enthought’s environment and application manager.

EDM attempts to implement the best principles of virtualenv managers such as virtualenvwrapper and pew as well as the Ruby Version Manager (rvm). It also derives some ideas from Nix. EDM’s main features are:

  • create multiple, self-contained environments

  • state-of-the-art SAT solver with support for conflicts, provides, and other features available in advanced package managers

  • support the existing set of ~ 500 Enthought binary packages on Linux, OS X and Windows

  • layered architecture: the core is defined to be useable by 3rd party programs (IDE, GUI) through a well defined API

  • distributed as a small (~10 Mb), single file binary on Unix. Native installers are provided for Debian/Ubuntu (.deb), Windows (.msi), RHEL/Fedora (.rmp), and OS X (.pkg).

  • experimental support for multiple python versions (2 and 3), implementations (cpython, pypy) and even languages (julia).

  • extensive inline documentation

A basic workflow looks as follows:

# will install scipy in your default environment
$ edm install scipy
# starts a new shell in the default environment
$ edm shell
(edm) $ python -c "import scipy"
$ exit # exit the shell
# If you prefer virtualenv-like activation
$ source edm-activate
(edm) $ python -c "import scipy"
$ deactivate

Multiple environments may be created through the -e/–environment option:

$ edm install "scipy < 0.17" -e test-old-scipy
$ edm shell -e test-old-scipy
# or using virtualenv-like activation
$ source edm-activate test-old-scipy

To install an alternative runtime (experimental, not available on every platform):

# Create a minimal pypy environment w/ pypy interpreter
$ edm environments create test-pypi --implementation pypy
# Create a minimal julia environment
$ edm environments create test-julia --implementation julia
# To list available runtimes:
$ edm available-runtimes

The basic command line is documented in the quick usage guide.

User guide

If you are simply an EDM user, this is the documentation of interest to you.

Release and version history

Description of EDM main changes for each release.