Is it possible to upgrade all Python packages at one time with pip
?
Note: that there is a feature request for this on the official issue tracker.
Is it possible to upgrade all Python packages at one time with pip
?
Note: that there is a feature request for this on the official issue tracker.
There isn’t a built-in flag yet, but you can use
pip list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
Note: there are infinite potential variations for this. I’m trying to keep this answer short and simple, but please do suggest variations in the comments!
In older version of pip
, you can use this instead:
pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
The grep
is to skip editable (“-e”) package definitions, as suggested by @jawache. (Yes, you could replace grep
+cut
with sed
or awk
or perl
or…).
The -n1
flag for xargs
prevents stopping everything if updating one package fails (thanks @andsens).