21 lines
580 B
Bash
Raw Normal View History

#!/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!"