summaryrefslogtreecommitdiff
path: root/freezer.sh
diff options
context:
space:
mode:
authordoc <doc@filenotfound.org>2025-06-30 20:11:52 +0000
committerdoc <doc@filenotfound.org>2025-06-30 20:11:52 +0000
commit41e897f4945aaf8fbcdf0b12ac2f08c5e6ae0458 (patch)
treedb7c3520fd91abc3cf56b1a52095d23f3a80d059 /freezer.sh
commit of legacy codeHEADmaster
Diffstat (limited to 'freezer.sh')
-rwxr-xr-xfreezer.sh20
1 files changed, 20 insertions, 0 deletions
diff --git a/freezer.sh b/freezer.sh
new file mode 100755
index 0000000..17fa86d
--- /dev/null
+++ b/freezer.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+# Find all venvs, freeze their packages to requirements.txt
+
+BASE_DIR="$HOME" # Or wherever your projects are
+
+echo "Scanning for venvs under $BASE_DIR ..."
+
+find "$BASE_DIR" -type f -name "pyvenv.cfg" 2>/dev/null | while read cfg; do
+ venv_dir="$(dirname "$cfg")"
+ reqfile="$venv_dir/requirements.txt"
+ echo "🔒 Freezing $venv_dir → $reqfile"
+ "$venv_dir/bin/python" -m pip freeze > "$reqfile"
+ if [ $? -eq 0 ]; then
+ echo "✅ Done: $reqfile"
+ else
+ echo "❌ Failed to freeze $venv_dir"
+ fi
+done
+
+echo "All venvs processed!"