pip

pip is hands down my favorite way to install stuff in Python.

If you need to use it behind a firewall, download

the dev release instead of 1.3.1.

Things I absolutely love about the tool:

  • install – Install packages.(of course)
  • uninstall – Uninstall packages.(way cool)
  • list – List installed packages.
  • show – Show information about installed packages. (this includes showing dependencies and version installed
  • option --proxy <proxy> – Specify a proxy in the form [user:passwd@]proxy.server:port (extremely cool, but broken in 1.3.1)

I haven’t tried the pip commands wheel, zip, or unzip yet. And I’m not quite sure what freeze gives you that list doesn’t.

Proxy

The --proxy option is essential if you are installing behind a firewall. And it works brilliantly. However, the feature is broken in 1.3.1.

It’s fixed in the dev branch.** **So if you need –proxy to work, don’t install 1.3.1. Go to pip on github and download the dev release instead. When you have the zip file, install it with easy_install pip-develop.zip. Then you’re set.

I’ll try to remember to come back to this post after 1.4 gets released and remove the above note.

virtualenv

When I tried to use the dev release of pip to install virtualenv, and amusing thing happened. Pip installs virtualenv just fine. But when I tried to use virtualenv and virtualenvwrapper to create a virtual environment, it was created with 1.3.1 of pip. Oops.

So with virtualenv and virtualenvwrapper, if you need the dev pip, do this:

  1. easy_install pip-dev.zip (same as explained above)
  2. mkvirtualenv myEnv (create your environment)
  3. workon myEnv (start using environment)
  4. pip --version (see if it’s 1.4 or higher)
  5. easy_install pip-dev.zip (installs dev version over 1.3.1)
  6. Go on to build something awesome.

As above, I’ll try to remember to come back to this post and update it when pip 1.4, virtualenv, and virtualenvwrapper all work well together.

BTW, I’d like to thank anyone whose contributed to those projects. They’re quite excellent tools.