for pip proxy, use dev instead of 1.3.1


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.


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 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.


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 (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 (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.


  1. says

    Pip freeze can be used to create a requirements.txt file, e.g.,

    $ pip freeze > requirements.txt

    Then you can do (usually somewhere else, like Travis-CI):

    $ pip install -r requirements.txt

    The output format of pip list can’t be used for the above.

Leave a Reply