bin/mkvenv

37 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
#
BASEPATH=$(pwd -P)
#
# Create venv
#
if [ ! -e venv ];then
echo -e "\033[1;33mCreating venv in $BASEPATH...\e[0m"
python3 -m venv $BASEPATH/venv > /dev/null 2>&1
else
echo -e "\033[1;33mVirtualenv already exists in $BASEPATH...\e[0m"
fi
echo
#
# Install modules
#
echo -e "\033[1;33mInstalling modules to venv in $BASEPATH...\e[0m"
for req_file in $(find $BASEPATH -name requirements.txt); do
# echo " $req_file"
while read req_mod; do
if [[ $req_mod = *[![:space:]]* ]]; then
# req_mod is not empty
OUT=$($BASEPATH/venv/bin/pip install -U $req_mod 2>&1 )
if [[ $OUT =~ "Successfully installed" ]]; then
echo -e " * \033[1;32m$req_mod installed.\e[0m"
elif [[ $OUT =~ "already satisfied" ]]; then
echo -e " * \033[1;36m$req_mod already installed.\e[0m"
else
echo -e " * \033[1;31m$req_mod installation FAILED!\e[0m"
#echo $OUT
fi
fi
done < $req_file
done
echo