FreeDATA/tools/create_python_env.sh

49 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
if [ ! -d "modem" ]; then
echo "Error: Run this script from the main FreeDATA directory."
exit 1
fi
# Common variables
VENVDIR="$(pwd)/.venv"
# Choose an appropriate python interpreter
CHOSEN=/bin/python3
for i in python3.8 python3.9 python3.10 python3.7
do
if [ -x /bin/$i ]; then
CHOSEN="/bin/$i"
break
fi
done
# Verify it's there.
if [ ! -x ${CHOSEN} ]; then
echo "Error: ${CHOSEN} is not executable or does not exist."
echo "Note: FreeDATA requires Python 3 (higher than version 3.6)."
exit 1
fi
# Clear the existing virtual environment.
if [ -e "${VENVDIR}" ]; then
${CHOSEN} -m venv "${VENVDIR}" --clear
fi
# Create the virtual environment
${CHOSEN} -m venv "${VENVDIR}"
# Activate the virtual environment, if needed
if [ -z "${VIRTUAL_ENV}" ] || [ "${VIRTUAL_ENV}" != "${VENVDIR}" ]; then
source "${VENVDIR}/activate"
fi
# Cease using ${CHOSEN} as the interpreter we want now is in our path.
# Install packages
python3 -m pip install -U pip wheel
python3 -m pip install -r requirements.txt
echo ""
echo "Be sure to run '. $VENVDIR/activate' before starting the daemon."