diff --git a/third_party/README.md b/third_party/README.md index 29d43172a7909..0c162fcbcfdfc 100644 --- a/third_party/README.md +++ b/third_party/README.md @@ -114,11 +114,6 @@ Updating the protobuf dependency is now part of the internal release process (se Apart from the above steps, please run `tools/codegen/core/gen_upb_api.sh` to regenerate upb files. -In addition, please perform the following two steps to generate the Python `xds-protos` package: - -1. Bump the version in the `tools/distrib/python/xds_protos/setup.py`; -2. Run `tools/distrib/python/xds_protos/build_validate_upload.sh` to upload the built wheel. - ### Updating third_party/upb Since upb is vendored in the gRPC repo, you cannot use submodule to update it. Please follow the steps below; diff --git a/tools/buildgen/generate_projects.sh b/tools/buildgen/generate_projects.sh index 31e81bcc027a5..a18d87c7e2be8 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