This directory contains google.protobuf module version 2.6.0 build 0.

sergiyb@: It has been manually renamed to protobuf26. This is needed to avoid
conflicts with a built-in google.protobuf module found on many developer
machines. The long-term solution to this problem, however, should be virtualenv.
Unfortunately due to limited time and lack of experience, it was not a
reasonable short-term solution.

If you need to update this package, please make sure that you replace all
the references to google.protobuf in the package itself with protobuf26, e.g.

  from google.protobuf import text_format
  import google.protobuf

becomes

  from protobuf26 import text_format
  import protobuf26

Bug tracking setting up virtualenv for depot_tools is https://crbug.com/496241.
