Today I present a small shell script that check if pip/ pip3 are installed and if there is any package that need to be update:
printf "Check PIP and PIP3 versions and packages: \n\n "
if [[ $(command -v pip) ]] ; then
printf "PIP found: \n "
pip --version ;
pip_pkg=$( pip list --outdated --format=freeze | wc -l)
printf " Pakages to be upgraded: $pip_pkg \n"
fi
if [[ $(command -v pip3) ]] ; then
printf "PIP3 found: \n "
pip3 --version ;
pip3_pkg=$( pip list --outdated --format=freeze | wc -l)
printf " Pakages to be upgraded: $pip3_pkg \n"
fi
Since the steps are the same for both pip and pip3, I will describe just once.
- The if block check if pip is installed. If so the version is printed.
- Then a variable is set to contain the number of packages that need updating. This command is the sum of two instructions:
pip list --outdated --format=freezelists the outdated packages (with the number of the current version installed)wc -lcounts the number of affected rows.
In case you want to display only the name of the outdated packages, you just need to run:
pip list --outdated --format=freeze | awk '{split($0, a, "=="); print a[1]}'

