Enthought Deployment Manager

Enthought Deployment Manager (EDM) is Enthought’s Python environment and application manager. EDM’s main features are:

  • Create multiple self-contained Python environments.

  • Environments are fully reproducible, including the Python runtime, using the “bundle” lockfile feature.

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

  • Supports hundreds of Enthought binary packages, including AI/ML libraries with GPU support, across Linux, MacOS and Windows.


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.

Next Steps