----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/66649/#review201538 -----------------------------------------------------------
src/python/lib/pb2gen.sh Lines 66 (patched) <https://reviews.apache.org/r/66649/#comment282832> remove blank line src/python/lib/pb2gen.sh Lines 72 (patched) <https://reviews.apache.org/r/66649/#comment282833> remove blank line src/python/lib/requirements.in Lines 1 (patched) <https://reviews.apache.org/r/66649/#comment282834> how to include protobuf version defined in makefile? - Eric Chung On April 17, 2018, 8:22 p.m., Eric Chung wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/66649/ > ----------------------------------------------------------- > > (Updated April 17, 2018, 8:22 p.m.) > > > Review request for mesos, Armand Grillet, Jason Lai, Kevin Klues, and Zhitao > Li. > > > Repository: mesos > > > Description > ------- > > The current state of support for python in protoc has two serious > issues: > 1. The `__init__.py` files necessary to mark a directory as a python > package aren't generated. > 2. The import paths in each of the generated .py files do not reflect > the `--python_path` option passed to `protoc`. > > This results in incomplete code generated, preventing it from being used > out of the box. To address this issue, we're adding a `pb2gen.sh` script > to do end-to-end code generation for python protobuf bindings: the > script generates the bindings based on what's in the `include` dir, then > postprocesses the generated code to add proper import paths and the > `__init__.py` files. > > > Diffs > ----- > > src/python/lib/pb2gen.sh PRE-CREATION > src/python/lib/requirements.in 0742f3d846c99c1c4907d9628fb49845564563b2 > > > Diff: https://reviews.apache.org/r/66649/diff/3/ > > > Testing > ------- > > 1. under `src/python/lib`, run `pb2gen.sh` > 2. initialize and activate virtualenv: `virtualenv env && . env/bin/activate` > 3. install reqs: `pip install -r requirements.in` > 4. try to import modules from generated python code: `python -c 'from > mesos.pb2.mesos.v1.master import master_pb2'` > > > Thanks, > > Eric Chung > >