Enthought Deployment Manager (EDM)

The Next Generation Python Environment and Package Manager

Enthought Deployment Manager (EDM) is Enthought’s mechanism to deliver scientific software applications and development environments to our clients.  Building on Enthought’s collection of carefully-tested, consistently-built Python packages, EDM allows developers to iterate quickly on solutions to a problem, and have the confidence that their code will work when delivered to the end user.  Designed around the central concept of fully-specified and reproducible Python software environments, EDM supports all phases of the software development and deployment process, from initial idea to delivery of a finished application.

Environment Management

EDM creates self-contained environments with their own Python executable and set of packages. This allows users to reproduce a colleague or partner’s environment for co-development, troubleshooting, or testing or to work on different projects with different sets of dependencies.

Package Management

Dependency information is included in Enthought’s curated packages to allow EDM’s dependency solver to create sets of reliably consistent packages. This allows users to have one set of package versions in a known production state while developing an experimental state for the next release.

Enthought Deployment Manager Features

The Enthought Deployment Manager provides:

  • The ability to create multiple self-contained environments
  • A state-of-the-art dependency solver with support for resolving conflicts and other features available in advanced package managers, such as the ability of multiple packages to satisfy a requirement (the “PROVIDES” clause), etc.
  • A well-defined deployment API useable by third party programs (e.g. IDEs, GUIs)
  • A small distribution footprint, ~10 Mb single file binary
  • Native installers for Windows (.msi), Mac OS X (.pkg), RHEL/Fedora (.rpm), and Debian/Ubuntu (.deb)
  • Support for multiple Python versions (both Python 2 and Python 3), implementations (cpython, pypy) and even other languages (Julia)

Download Enthought Deployment Manager

Below are the available downloads for the latest version of EDM (currently 1.12.1). Please download the proper package for your operating system.

See full documentation.

Operating SystemFile FormatInstaller*
Mac OS X.pkg64-bit .pkg installer
Windows 7 & later (64-bit).msi64-bit .msi installer
Windows 7 & later (32-bit).msi32-bit .msi installer
Debian 7 and above.deb64-bit .deb package
Centos 5 and above.rpm64-bit .rpm package
Generic glibc Linux.sh64-bit .sh installer

* EDM itself is a 64-bit program, but it can create and maintain both 32-bit and 64-bit versions of Enthought Python
* The .deb and .rpm require admin privileges (e.g. sudo), the sh installer does not. The .rpm and .deb install edm in /opt/edm, and symlink the edm executable in /usr/bin.

Getting Started

Below are examples of how to get started with Enthought Deployment Manager on your machine:

# Make sure edm is installed and available
$ edm --version

# Install package of your choice, e.g. NumPy
# (Creates a default Python environment)
$ edm install numpy

# Create a shell with the default environment activated
$ edm shell

How to install in a different environment:

$ edm install -e test-old-numpy "numpy < 1.10"

# Create a shell with the test-old-numpy environment activated
$ edm shell -e test-old-numpy

For more information or to get help:

# See a list of available commands and help topics
$ edm help

# Get help on a specific command, e.g. install
$ edm help install

# Get help on a topic, e.g. configuration
$ edm help configuration