Oct. 05, 2012

Python : Easy_Install Package Manager

Easy_Install Package Manager

This post will be the first in a series of "Python Packing Manager" posts.

To know which one you are going to use, can be hard, as there are a few
different ones to choose from.

Let's start out with Easy_Install.


Distributes Python programs and libraries (based on the Python Eggs wrapper)

It's a python module (easy_install) that is bundled with setuptools.

It lets you automatically download, build, install, and manage Python packages.

Easy_Install looks in the Python Package Index (PyPI) for the desired packages
and uses the metadata there to download and install the package and its

It is also hosted itself on the PyPI.

Python Eggs

A Python egg is a way of distributing Python packages. 

"Eggs are to Pythons as Jars are to Java..."

For a great introduction about this, I suggest you head over to this post


setuptools is a collection of enhancements to the Python distutils that allow
you to more easily build and distribute Python packages, especially ones that
have dependencies on other packages.

Easy_Install Usage

Downloading and Installing a Package
For basic use of easy_install, you need only supply the filename or URL of a 
source distribution or .egg file (Python Egg). 

By default, packages are installed to the running Python installation's
site-packages directory.

Easy_Install Examples

Install a package by name, searching PyPI for the latest version, 
and automatically downloading, building, and installing it:
>>easy_install SQLObject

Install or upgrade a package by name and version by finding links on
a given "download page":
>>easy_install -f http://pythonpaste.org/package_index.html SQLObject

Download a source distribution from a specified URL, automatically
building and installing it:
>>easy_install http://example.com/path/to/MyPackage-1.2.3.tgz

Install an already-downloaded .egg file:
>>easy_install /my_downloads/OtherPackage-3.2.1-py2.3.egg

Upgrade an already-installed package to the latest version listed on
>>easy_install --upgrade PyProtocols

Install a source distribution that's already downloaded and extracted
in the current directory (New in 0.5a9):
>>easy_install .

Upgrading a Package

You don't need to do anything special to upgrade a package

Just install the new version, either by requesting a specific version, e.g.:
>>easy_install "SomePackage==2.0" 
If you're installing to a directory on PYTHONPATH, or a configured "site"
directory (and not using -m), installing a package automatically replaces
any previous version in the easy-install.pth file, so that Python will
import the most-recently installed version by default. 

So, again, installing the newer version is the only upgrade step needed.
A version greater than the one you have now:
>>easy_install "SomePackage>2.0"

Using the upgrade flag, to find the latest available version on PyPI:
>>easy_install --upgrade SomePackage

Or by using a download page, direct download URL, or package filename:
>>easy_install -f http://example.com/downloads ExamplePackage
>>easy_install 	  http://example.com/downloads/ExamplePackage-2.0-py2.4.egg
>>easy_install my_downloads/ExamplePackage-2.0.tgz

Changing the Active Version

If you've upgraded a package, but need to revert to a previously-installed
version, you can do so like this:
>>easy_install PackageName==1.2.3 
(where 1.2.3 is replaced by the exact version number you wish to switch to. 

If a package matching the requested name and version is not already installed in
a directory on sys.path, it will be located via PyPI and installed.)

To switch to the latest installed version of PackageName:
>>easy_install PackageName

This will activate the latest installed version!

Uninstalling Packages

If you have replaced a package with another version, then you can just delete
the package(s) you don't need by deleting the PackageName-versioninfo.egg file
or directory (found in the installation directory).
If you want to delete the currently installed version of a package 
(or all versions of a package), you should first run:
>>easy_install -mxN PackageName

This will ensure that Python doesn't continue to search for a package you're 
planning to remove. 

After you've done this, you can safely delete the .egg files or directories,
along with any scripts you wish to remove.
For more information on how to use easy_install:

Recommended Python Training – DataCamp

For Python training, our top recommendation is DataCamp.

Datacamp provides online interactive courses that combine interactive coding challenges with videos from top instructors in the field.

Datacamp has beginner to advanced Python training that programmers of all levels benefit from.


Read more about:
Disclosure of Material Connection: Some of the links in the post above are “affiliate links.” This means if you click on the link and purchase the item, I will receive an affiliate commission. Regardless, PythonForBeginners.com only recommend products or services that we try personally and believe will add value to our readers.