Introduction to Python packages
So I came across a nice python tool that I wanted to try out but I'm a
total python noob. Installed Python on Windows, and then the install instructions for the tool
pip install .., and thus began my quest to figure out how to install additional
packages in Python.
The standard method for publishing Python packages is called Distutils, I understood it as
make. However, easy_install and pip are more popular ways to install
packages since they provide an ease of use similar to
gem. These tools typically
use the Python Package Index (PyPI) as the online package repository. A simple command will
download the library, auto-fetch any dependencies and do any post-installation setup. A related
package virtualenv, is used for 'serious' environments, when you have to manage packages across
multiple projects; for example when you want to ensure that a project uses a particular version of a
So, now my goal was to get
pip. A prerequisite for installing it is the setuptools
utility, which has the
easy_install script. Once that was installed, I could get
executing the following on the command line.
But for completeness, I also wanted to try out the manual distutils method. So I proceeded to
pip. Now I hit a gotcha
easy_install seems to be a 'one-way' tool! There is
no 'uninstall' command out of the box, it has to be worked around.
So the workaround is to do :
easy_install -mxN pip
which oddly enough, 'installs'
pip in multi-version mode, that is, it removes its entry from
easy-install.pth file that had marked the previous installation as the default version. It also
helpfully indicates the location of the
pip 'egg' directory that can be deleted manually.
Once that is deleted, I downloaded a source package of
pip, and ran
python setup.py install
in the unzipped folder. So once again
pip is in action, with a
pip.exe freshly compiled in the
Now I could finally start playing with the tool ( and realized that I almost forgot why I started this saga ;) !)