Selaa lähdekoodia

Declare 'google' namespace when importing Python protobuf via Bazel.

`python/google/__init__.py` declares the top-level 'google' namespace so that
`google.protobuf` can be imported alongside other Google Python modules like
`google.auth`.

This works well when installing protobuf via Pip, but the Bazel `//:python_srcs`
rule doesn't include this file in its `srcs`. Bazel implicitly creates an empty
`google/__init__.py`, which does *not* set up a namespace. The result is that
consuming Python protobuf via Bazel breaks all other Google Python libraries.

This fixes #4658.
Calder Coalson 7 vuotta sitten
vanhempi
commit
142cbe0d57
1 muutettua tiedostoa jossa 1 lisäystä ja 0 poistoa
  1. 1 0
      BUILD

+ 1 - 0
BUILD

@@ -640,6 +640,7 @@ py_library(
     name = "python_srcs",
     srcs = glob(
         [
+            "python/google/__init__.py",
             "python/google/protobuf/*.py",
             "python/google/protobuf/**/*.py",
         ],