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.

Reply via email to