(Updated January 30, 2015)
This article is about EPD (2012 and earlier), not Canopy (2013 and later). For related Canopy information, see Canopy-specific information about installing external packages.
Caution: Do not install setuptools in EPD. EPD includes distribute 0.6.26, which simulates setuptools 0.6. If you install setuptools, then you will corrupt distribute and have problems. If you need to install a package which requires a version of setuptools greater than 0.6, please email us at firstname.lastname@example.org, explaining your needs and we will provide a solution if feasible. We will build a new version of distribute which provides the necessary functionality.
EPD is a very standard python distribution, and it is perfectly fine to replace individual packages using any standard installation method. The most common case is for users who wish to be on the bleeding edge of a package's development, running a package from its development source branch. However it is also fine to use standard installation methods to install a newer version of a package than is in the EPD repository (e.g. `pip install some_package`).
The best practice, when you wish to install an EPD package from another source, is first to uninstall it (`enpkg --remove some_package`), then to install it using whatever technique you prefer.
When it's time to revert to the EPD version, then you would uninstall it using the same technique that you installed it with, then re-install it with enpkg.
Note that pip was not shipped by default with EPD (although it is with Canopy); you can install it from our repository with [sudo] `enpkg pip`. Depending on your system configuration, invoking pip without first installing it into EPD could result in running pip from another python installation, would, by default, install the package into that other python rather than into EPD.
Note also that enpkg will not be aware of packages that you installed using external installers. It is up to you to coordinate this independently.