diff --git a/README.md b/README.md index 140eee7..4652f1b 100644 --- a/README.md +++ b/README.md @@ -66,5 +66,5 @@ You can optionally run `sudo raspi-config` or the graphical Raspberry Pi Configu Some of the examples have additional dependencies. You can install them with: ```bash -pip install -``` \ No newline at end of file +pip install -r requirements-examples.txt +``` diff --git a/boilerplate.md b/boilerplate.md index 254b724..995cb73 100644 --- a/boilerplate.md +++ b/boilerplate.md @@ -95,6 +95,14 @@ Press Ctrl+C to exit. """) ``` +If your examples need additional dependencies, then list them in: + +``` +requirements-examples.txt +``` + +Otherwise, just delete this file to avoid unecessarily prompting the user. + ## Install / Uninstall Scripts If your package directory (`PROJECT_NAME/`) differs from your library name, you should update `install.sh` and `uninstall.sh` and hard-code the correct library name. diff --git a/install.sh b/install.sh index 3db90bc..61f1a4a 100755 --- a/install.sh +++ b/install.sh @@ -166,6 +166,12 @@ function pip_pkg_install { check_for_error } +function pip_requirements_install { + # A null Keyring prevents pip stalling in the background + PYTHON_KEYRING_BACKEND=keyring.backends.null.Keyring $PYTHON -m pip install -r "$@" + check_for_error +} + while [[ $# -gt 0 ]]; do K="$1" case $K in @@ -335,6 +341,15 @@ fi printf "\n" +if [ -f "requirements-examples.txt" ]; then + if confirm "Would you like to install example dependencies?"; then + inform "Installing dependencies from requirements-examples.txt..." + pip_requirements_install requirements-examples.txt + fi +fi + +printf "\n" + # Use pdoc to generate basic documentation from the installed module if confirm "Would you like to generate documentation?"; then