Specifically, see this line:
|
strip_prefix = "httplib2-0.10.3/python2/httplib2/", |
The httplib2 package ships two separate trees for python 2/3 compat, and we are exclusively using the python2 tree. This means that if a user is trying to run this code under python 3, it will fail, since that tree is not compatible with python3.
I'm not sure the right answer here. In an ideal world, Bazel would expose the python version to us, and we could include the right tree based on that. Perhaps we could fix bazel-contrib/rules_python#33 and then use pip to import these dependencies, rather than fetching the archives directly.
Alternatively, we could move from httplib2 to urllib (or the python 2/3 compatible version in six.moves.urllib), but it turns out that oauth2client also uses httplib2, so we'd still need it for transitive dependency resolution.
Until this is fixed, it is unlikely that python 3 users can use these rules.