diff --git a/tools/buildgen/generate_projects.sh b/tools/buildgen/generate_projects.sh index 31e81bcc027..a18d87c7e2b 100755 --- a/tools/buildgen/generate_projects.sh +++ b/tools/buildgen/generate_projects.sh @@ -36,7 +36,23 @@ tools/buildgen/build_cleaner.py build_handwritten.yaml # /usr/local/google/home/rbellevi/dev/tmp/grpc/venv/bin/python3: No module named virtualenv # Generate xds-protos -[[ -d generate_projects_virtual_environment ]] || { python3 -m pip install virtualenv --upgrade && python3 -m virtualenv generate_projects_virtual_environment; } +if [[ ! -d generate_projects_virtual_environment ]]; then + if ! python3 -m pip freeze | grep virtualenv &>/dev/null; then + echo "virtualenv Python module not installed. Attempting to install via pip." >/dev/stderr + if INSTALL_OUTPUT=$(! python3 -m pip install virtualenv --upgrade &>/dev/stdout); then + echo "$INSTALL_OUTPUT" + if echo "$INSTALL_OUTPUT" | grep "externally managed" &>/dev/null; then + echo >/dev/stderr + echo "############################" >/dev/stderr + echo "Your administrator is _insisting_ on managing your packages themself. Try running \`sudo apt-get install python3-virtualenv\`" >/dev/stderr + echo "############################" >/dev/stderr + fi + exit 1 + fi + fi + python3 -m virtualenv generate_projects_virtual_environment +fi + generate_projects_virtual_environment/bin/pip install --upgrade --ignore-installed grpcio-tools==1.59.0 generate_projects_virtual_environment/bin/python tools/distrib/python/xds_protos/build.py