grpcio and grpcio-tools are effectively build-only dependency for GRR, but a runtime dependency for google-cloud-pubsub. To avoid versioning conflicts, we should install our own packages with separate pip install calls - this allows each call to override the version of grpcio or grpcio-tools if needed. This is clearly a hack. A proper fix is to migrate from setup.py to toml files and explicitly declare grpcio and grpcio-tools as GRR's build (and not runtime) dependencies.
grpcio and grpcio-tools are effectively build-only dependency for GRR, but a runtime dependency for google-cloud-pubsub. To avoid versioning conflicts, we should install our own packages with separate
pip install
calls - this allows each call to override the version of grpcio or grpcio-tools if needed. This is clearly a hack. A proper fix is to migrate from setup.py to toml files and explicitly declare grpcio and grpcio-tools as GRR's build (and not runtime) dependencies.