Nevermind! I fixed it... The solution was to use import "sift/sift_descriptors.proto" in filtered_descriptors.proto, and then point protoc to --proto_path=../ instead of --proto_path=../sift. Then, protoc generates python code that does the import as import sift.sift_descriptors_pb2.
This isn't explained well in the documentation. How can I help write something? On Oct 26, 1:03 pm, Sancho <sanc...@gmail.com> wrote: > Sorry, transcription error... I meant "import sift_descriptors_pb2" > where I wrote "import sift_descriptors_pb2.py" both times. > > On Oct 26, 12:58 pm, Sancho <sanc...@gmail.com> wrote: > > > > > I have my directory structure like this: > > > root/ > > sift/ > > __init__.py > > sift_descriptors.proto > > sift_descriptors_pb2.py > > project/ > > __init__.py > > filtered_descriptors.proto > > filtered_descriptors_pb2.py > > filtered_descriptors_test.py > > The root directory is in my $PYTHONPATH. > > > I build root/sift/sift_descriptors_pb2.py using protoc --python_out=./ > > sift_descriptors.proto > > > I build root/project/filtered_descriptors_pb2.py using /cs/public/lib/ > > pkg/protobuf/bin/protoc --proto_path=../sift --proto_path=./ -- > > python_out=./ filtered_descriptors.proto > > > In filtered_descriptors.proto, I use import "sift_descriptors.proto" > > > The problem is that in filtered_descriptors_pb2.py, there's a > > statement that just does this bare import: import > > sift_descriptors_pb2.py, without reference via the module name as > > would be needed: from sift import sift_descriptors_pb2.py. > > > What am I doing wrong? -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To post to this group, send email to proto...@googlegroups.com. To unsubscribe from this group, send email to protobuf+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/protobuf?hl=en.