Files
MX_Pmodule/Programming/anaconda/files/admintools/export-all-envs.sh

34 lines
1000 B
Bash
Executable File

#!/bin/bash
# Dump the package descriptions of all conda environments
DATE=$(date +%Y%m%d-%H%M%S)
MYDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
INSTALLDIR=$(dirname $MYDIR)
TOPLOGDIR="$INSTALLDIR/envlogs"
command -v conda &>/dev/null
if [[ $? -ne 0 ]]; then
echo "conda command is not defined. Load the module" >&2
exit 1
fi
CONDAPREFIX=$(expr "$(conda config --show root_prefix)" : '.*: *\(.*\)')
if [[ "$INSTALLDIR" != "$(dirname $CONDAPREFIX)" ]]; then
printf "WARNING: you may be running the wrong conda command!!!\n" >&2
printf " PREFIX from conda root_prefix : %s\n" "$(dirname $CONDAPREFIX)" >&2
printf " this script's associated prefix : %s\n" "$INSTALLDIR" >&2
exit 1
fi
mkdir -p "$TOPLOGDIR"
LOGDIR=$TOPLOGDIR/envdef-$DATE
mkdir $LOGDIR
for n in $(conda info --json | jq -r '.envs[]'|grep envs); do
env=$(basename $n)
echo ==== "$LOGDIR/${env}.txt ..." =====
conda list -n $env -e > "$LOGDIR/${env}.txt"
done