src/eric7/PipInterface/pipcleanup.py

branch
eric7
changeset 11091
3a1ba42ac50a
child 11105
ec86fc991d28
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/PipInterface/pipcleanup.py	Wed Dec 11 18:12:50 2024 +0100
@@ -0,0 +1,37 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2002 - 2025 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+pipcleanup
+
+Script to delete all leftovers of upgrading packages currently in use. These
+leftover directories are still located in the 'site-packages' directory and
+their names start with a '~' character.
+"""
+
+import glob
+import os
+import shutil
+import sys
+import sysconfig
+
+def main():
+    """
+    Function implementing the main logic.
+    """
+    sitepackages = sysconfig.get_path("platlib")
+    leftovers = glob.glob("~*",root_dir=sitepackages)
+    for leftover in leftovers:
+        directory = os.path.join(sitepackages, leftover)
+        print(f"Removing '{directory}'.")
+        shutil.rmtree(directory, ignore_errors=True)
+
+    # check again for leftovers and report via exit code
+    leftovers = glob.glob("~*",root_dir=sitepackages)
+    sys.exit(1 if bool(leftovers) else 0)
+
+if __name__ == "__main__":
+    main()

eric ide

mercurial