diff --git a/scripts/kfctl.sh b/scripts/kfctl.sh index 06d56c3a988..f3058797cb3 100755 --- a/scripts/kfctl.sh +++ b/scripts/kfctl.sh @@ -286,7 +286,9 @@ main() { check_install ks check_install kubectl - source "${ENV_FILE}" + if [ "${PLATFORM}" == "gcp" ]; then + checkInstallPy pyyaml yaml + fi if [ "${COMMAND}" == "generate" ]; then if [ "${WHAT}" == "platform" ] || [ "${WHAT}" == "all" ]; then diff --git a/scripts/util.sh b/scripts/util.sh index 5c9163ce901..ba7e71e3f6b 100644 --- a/scripts/util.sh +++ b/scripts/util.sh @@ -22,6 +22,16 @@ check_install() { fi } +checkInstallPy() { + local PYPI=$1 + local MOD=$2 + if python -c "import pkgutil; exit(pkgutil.find_loader('${MOD}'))" &>/dev/null; then + echo "Failed to import python module ${MOD}." + echo "You don't have ${PYPI} installed. Please install ${PYPI}." + exit 1 + fi +} + check_variable() { if [[ -z "${1}" ]]; then echo "'${2}' environment variable is not set. Please set it using export ${2}=value."