21 lines
580 B
Bash
Executable File
21 lines
580 B
Bash
Executable File
#!/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!"
|