Skip to content

Instantly share code, notes, and snippets.

@nanonyme
Last active July 13, 2020 20:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nanonyme/6f05ea914122ac785d8ac93c678e5b9c to your computer and use it in GitHub Desktop.
Save nanonyme/6f05ea914122ac785d8ac93c678e5b9c to your computer and use it in GitHub Desktop.
Update obsolete installed packages
#!/usr/bin/env python3
import json
import subprocess
import sys
def grab_packages():
process = subprocess.run([sys.executable, "-mpip", "list", "-o",
"--format=json"] + sys.argv[1:],
capture_output=True)
return [package["name"] for package in json.loads(process.stdout)]
def update_packages(packages):
if not packages:
print ("Everything is up to date")
else:
subprocess.run([sys.executable, "-mpip", "install", "--upgrade"] +
sys.argv[1:] + packages)
if __name__ == "__main__":
# Invoke with --user to update user packages
update_packages(grab_packages())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment