Merge pull request #229 from DJ2LS/issue_226_additions

Add environment creation scripts.
This commit is contained in:
Paul Kronenwetter 2022-06-26 08:30:29 -04:00 committed by GitHub
commit 5ded4020d7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 123 additions and 0 deletions

20
requirements.txt Normal file
View file

@ -0,0 +1,20 @@
crcengine
numpy
psutil
PyAudio
pyserial
sounddevice
structlog
ujson
# Development and test dependencies
autopep8
black
isort
pycodestyle
pyinstaller
pytest
pytest-cov
pytest-cover
pytest-coverage
pytest-rerunfailures

33
tools/create_node_env.sh Executable file
View file

@ -0,0 +1,33 @@
#!/usr/bin/env bash
if [ ! -d "gui" ]; then
echo "Error: Run this script from the main FreeDATA directory."
exit 1
fi
# Move into gui directory
cd gui
# Common variables
OLDPATH=${PATH}
PATH=/usr/bin:/bin:/usr/local/bin
NPM=$(which npm)
PATH=${OLDPATH}
VENVDIR="$(pwd)/node_modules"
PATH_ADDITIONS="$(pwd)/node_modules/bin:$(pwd)/node_modules/.bin"
# Verify NPM exists.
if [ -z "${NPM}" ] || [ ! -x "${NPM}" ]; then
echo "Error: ${NPM} isn't executable or doesn't exist."
exit 1
fi
${NPM} install n
${NPM} i
PATH=${PATH_ADDITIONS}:${PATH}
n stable
echo ""
echo "Be sure to add '$PATH_ADDITIONS' to your path."

48
tools/create_python_env.sh Executable file
View file

@ -0,0 +1,48 @@
#!/usr/bin/env bash
if [ ! -d "tnc" ]; 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."

22
tools/setup_python_node.sh Executable file
View file

@ -0,0 +1,22 @@
#!/usr/bin/env bash
set -e
if [ ! -d "tnc" ]; then
echo "Error: Run this script from the main FreeDATA directory."
exit 1
fi
HERE="$(pwd)"
echo "Running Python and NodeJS setup scripts for FreeDATA..."
bash tools/create_python_env.sh
bash tools/create_node_env.sh
echo "Both Python and NodeJS were setup correctly."
echo ""
echo "Run the following to add the new Python environment to your path:"
echo "source ${HERE}/.venv/activate"
echo ""
echo "Run the following to add the new NodeJS environment to your path:"
echo "PATH=\${PATH}:${HERE}/gui/node_modules/bin:${HERE}/gui/node_modules/.bin"