Knowledge Base/EPD (Enthought Python Distribution)/Updating packages in EPD

Using non-EPD package installers such as pip

Jonathan March
posted this on January 10, 2013 19:46

(Updated October 25, 2013)

Caution: Do not install setuptools in EPD or Canopy. EPD / Canopy 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 support@enthought.com, explaining your needs and we will provide a  solution if feasible. We will soon be building 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 is not shipped by default with EPD; if you have a full EPD subscription, you can install it from our pypi mirror with [sudo] `enpkg pip`. Otherwise you can use [sudo] `easy_install 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.

Also see Canopy-specific information about installing external packages.

 

Comments

User photo
Matthew O'Connell

I needed to specify the enthought path as a parameter in order for pip install to work.

See: http://stackoverflow.com/a/14417611/1583083 

March 07, 2013 07:29
User photo
Jonathan March
Enthought

Matthew, it sounds as if you are using a non-EPD pip. Adding a clarification in article. You can confirm by typing "which pip"

March 07, 2013 07:45
User photo
Matthew O'Connell

'which pip' gives
/Library/Frameworks/EPD64.framework/Versions/Current/bin/pip

I had pip installed before I installed EPD though - I only tried installing pip through enpkg a little earlier on - so maybe this is where the problems stem from... 

Anyway, all good now. FYI, I was installing pymongo via pip as the version in the EPD repo seems quite old (v2.1 vs v2.4 current). 

March 07, 2013 07:51
User photo
Jonathan March
Enthought

Thanks for your response; interesting. Yes, we are creating a new, more flexible and consistent build & deployment system; when it is done, we will use it to catch up and keep up on package versions.

March 07, 2013 08:22
User photo
Nikhil Muralidhar

Hey Johathan, I'm running EPD on ubuntu with an academic license. I am trying to install the python 'requests' package into my EPD distribution. First thing I would like to ask you is what directory new packages are installed into in the Linux version of EPD distrubition as I only see examples for MAC OS EPD online and also on this thread. Also I tried the epkg pip command and it says No subscription for 'pip' , any idea how I can get around this?

June 20, 2013 09:35