An open and ongoing feature request for PIP is to add an upgrade-all command to PIP. Due to the lack of this feature a workaround is required. Enter Stackoverflow.

As of July 21st, 2017 this guide is deprecated.

I have been using a variation of this particular command line trick for awhile, but when starting writing this up I googled other solutions and this is one of the nicest and most straightforward I have seen.

pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs pip install -U

So next time you want to upgrade all the packages in your virtualenv, this is a great place to start. You can also set this up in your .zshrc as an alias for convenience.

You’re welcome.