Updating the Python packages in the Canopy application

If you are working behind a proxy firewall (typically users at large, locked-down institutions), see the instructions at the end of this article.

This article focuses on updating the packages in Canopy Python. For help with updating the Canopy application itself, see "Canopy shows no updates available - reinstalling from the website".

By default, updating the Canopy GUI application, or even re-installing Canopy, does not update the Python packages installed for the user. This way you can update or re-install the Canopy GUI application, and be confident that the operation of your Python scripts will not change. If you do want to start with a clean set of Python packages, see the "Starting Over..." section below.

(Pro tip: The exception, which is not of concern to most users, is that by default, the large Qt/Shiboken/Pyside packages are not installed separately in Canopy User Python; therefore, when they are updated in the application, the updates will be inherited in Canopy User Python. You may however explicitly install other versions of these packages in Canopy User Python if you wish to freeze those versions in your application. This was also previously true of the large MKL package, but starting with Canopy 1.7.0 it is installed in Canopy User Python like most other packages.)

Updating the packages in Canopy Python

The Canopy Package Manager (version 2 released with Canopy 1.7.0) is the primary tool for installing and updating packages in Canopy Python. Details on using the Package Manager are in the Canopy Help menu (Documentation browser / Canopy User Guide) and online here.

Regardless of whether you used the standard installer (available to all users, and recommended for most users, including subscribers) or our larger "full" installer (available to paid subscribers, but recommended only in limited circumstance), the Package Manager provides a tool for easily maintaining your package library. For all users, the Package Manager provides updates for all packages if the standard Canopy installer was used.

To update all already installed packages in the Package Manager (v2):

  1. Log in if you have not already done so (top of Canopy Welcome Screen).
  2. Click "Updates" in the left column.
  3. Click "Update all" on the right.
  4. Wait until the rotating "Updating" icon disappears.

 Packages can be queued for installation (i.e. you can specify additional packages while others are still installing).

Updating the Canopy GUI application

Canopy's update mechanism is described in the Canopy User Guide (Help menu / Documentation Browser), and online here.

Starting over with a clean set of Python packages

At any time, you can reset your Canopy User Python environment to exactly the set of packages that were bundled with the Canopy installer that you most recently downloaded from the Enthought website (and then, of course, installed). The contents of this baseline package set is not affected when you update Canopy from within the application.

The easiest way to do this reset, whether or not you are updating or re-installing the Canopy application, is to follow these steps:

  1. Quit Canopy
  2. Delete the Canopy User Python directory
  3. Restart the Canopy GUI application.

You can locate the Canopy User Python directory by typing "sys.prefix" in Canopy's Python pane. By default, it is located at:


Word length
Windows XP  64 C:\Documents and Settings\<username>\Local Settings\Application Data\Enthought\Canopy\User\
Windows XP 32 C:\Documents and Settings\<username>\Local Settings\Application Data\Enthought\Canopy32\User\
Windows 7+ 64 C:\Users\<username>\AppData\Local\Enthought\Canopy\User\
Windows 7+ 32 C:\Users\<username>\AppData\Local\Enthought\Canopy32\User\
Mac OSX 64 ~/Library/Enthought/Canopy_64bit/User/
Mac OSX 32 ~/Library/Enthought/Canopy_32bit/User/
Linux 64 ~/Enthought/Canopy_64bit/User/
Linux 32 ~/Enthought/Canopy_32bit/User/

Updating from behind a proxy

This section typically applies only to users at large institutions with an extra layer of security protection.

Configuring and testing your proxy connection from Canopy

Download the latest Canopy installer from https://store.enthought.com/downloads/ and install it.

1. To specify the proxy in the Canopy application, open the Preferences menu item and select the Network tab.  Once you have filled in the proxy server address and the optional proxy port, user, and password values if applicable, test the proxy using the "Test Proxy" push button.  If the test succeeds, then check the "enable proxy" checkbox and click "OK" to save the settings and enable the proxy.

Note: If the proxy settings are not specified and enabled using the Preferences as described above, then the Canopy application will look to see if the "HTTP_PROXY" and "HTTPS_PROXY" environment variables are set. If these are found, then it will use the proxy settings specified by these environment variables. See this article for more information.

2. Check that the following Canopy features work: Login, Package Manager, Doc Browser (e.g. of Numpy docs), Canopy Software Update (in Help Menu).

A note about free packages

Almost all the packages available through Canopy are free and open source, and you are entitled to build them and install them yourself into Canopy User Python. What subscribers receive (along with various levels of Enthought Training on Demand and support) is the benefit of pre-built "egg" installable files for all the packages.

Please do not enter support requests in article comments

Please use article comments for suggestions to improve the article. For individual support requests, please follow these guidelines.

Have more questions? Submit a request


  • Avatar
    Larry Ray

    Thanks, this was just what I needed - and it worked for me.

  • Avatar
    Birendra Bista

    I wonder there are more than 100 packages that are listed in canopy package manager. But the problem that i am facing is that how to use the particular package and from where ?. I installed Enthought Canopy and just two applications are installed Pylab and MayaAvi so do we need to use the rest of installed packages from these two. 


  • Avatar
    siddharth bhattacharjee

    To install all available Canopy packages:

    Click "Install all Canopy packages" (lower right corner of Package Manager).

    Why should anyone install all the packages? I need only 1 package, can I just install the required package (and its dependencies)?

  • Avatar
    Jonathan March

    @Siddharth - You are right, for most users there is no good reason to install all 200 packages. Update all packages is more focused. To your other question -- yes, you can install single pre-built packages which are covered by your subscription. Select the package and click "install". Please note that free users only have direct repository (pre-built)  access to free packages. But you can build and install any package that you want, using pip at the command line. See https://support.enthought.com/entries/23389761-Installing-packages-into-Canopy-Python-from-the-command-line


  • Avatar
    siddharth bhattacharjee

    @Jonathan I've tried but I can't see an option to install the selected package.

    Package manager -> Available Packages -> Canopy packages -> biopython 1.64.0. The selection has 2 buttons - more info and subscribe, the corner button still shows 'Install all Canopy packages'.

    Is there something I've missed?

  • Avatar
    Jonathan March

    Sorry! You are not a subscriber AFAICT, and biopython is not a free package. See https://www.enthought.com/products/canopy/package-index/

  • Avatar
    Jonathan March

    To clarify "free package". Almost all the listed packages are free and open source, and you are entitled to build them and install them yourself into Canopy User Python. What subscribers receive (along with various levels of Enthought Training on Demand and support) is the benefit of pre-built "egg" installable files for all the packages.

  • Avatar
    siddharth bhattacharjee

    @Jonathan thanks for your support. will try through pip :)

  • Avatar
    Troels Linnet


    How is the free packages updated?

    I notice for example, that "nmrglue" is version 0.2, while in terminal:

    pip search nmrglue

    nmrglue                   - A module for working with NMR data in Python

      INSTALLED: 0.2

      LATEST:    0.4

    Is the package repository delayed in some way?

  • Avatar
    Jonathan March

    @Troels: some clarification:

    1) Virtually all the packages in all the Canopy package repositories are free and open source. What the Canopy distribution provides is pre-built versions of them. So "Free" is not a useful discriminator.

    2) The packages that are provided to free users are the 80 or so key packages in Canopy Express. See https://www.enthought.com/products/canopy/package-index/ . These are updated regularly, like the other 120 or so in that list.

    3) nmrglue is in the "Community" (or "PyPI Mirror") repository of 11,000 untested, "as-is" packages. We don't test for nor necessarily provide dependencies, nor do we provide updates except when our bandwidth allows time. You can usually install newer versions of these packages by following the guidelines at https://support.enthought.com/entries/23389761-Installing-packages-into-Canopy-Python-from-the-command-line, especially for pure Python programs like nmrglue.

Powered by Zendesk