pip freeze shows me the packages installed, but how do I check against pypi which ones are outdated?


Since version 1.3, pip features a new command:

$ pip list --outdated
requests (Current: 1.1.0 Latest: 1.2.0)

See this post for more information.


Thing is, I never upgrade all packages. I upgrade only what I need, because projects may break.

Because there was no easy way to upgrade package by package and update the requirements.txt file, I wrote pip-upgrader which also updates the versions in your requirements.txt file for the packages chosen (or all packages).


pip install pip-upgrader


Activate your virtualenv (important, because it will also install the new versions of upgraded packages in the current virtualenv).

cd into your project directory, then run:


Advanced usage

If the requirements are placed in a non-standard location, send them as arguments:

pip-upgrade path/to/requirements.txt

If you already know what package you want to upgrade, simply send them as arguments:

pip-upgrade -p django -p celery -p dateutil

If you need to upgrade to pre-release / post-release version, add --prerelease argument to your command.

Full disclosure: I wrote this package.


Use this pip fork:


Which does exactly what you want using this command:

$ pip list --outdated
  • lol, thanks dsa. We both already commented on the fork before :) – Xster Apr 26 '11 at 2:44
  • 1
    Unmaintained project – Boris Jan 2 '20 at 15:52
  • 2
    Unmaintained 9-year-old fork. Avoid. – smci Jun 15 '20 at 21:10

Perhaps pip-tools, available at https://github.com/nvie/pip-tools, might help you achieve what you want?

An example from the README:

$ pip-review --interactive
requests==0.14.0 available (you have 0.13.2)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit y
redis==2.6.2 available (you have 2.4.9)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit n
rq==0.3.2 available (you have 0.3.0)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit y

Simple output:

pip list --oudated

enter image description here

Pretty output:

pip install pip-check


enter image description here


Similar to pip list --outdated but updates a requirements.txt file:

pur -r requirements.txt

PyPi: https://pypi.python.org/pypi/pur

GitHub: https://github.com/alanhamlett/pip-update-requirements

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.