summaryrefslogtreecommitdiff
path: root/freezer.sh
diff options
context:
space:
mode:
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!"