Thanks. That worked. However, when I run my testfile.py I get the following
error:
[localhost git]$ python testfile.py
Traceback (most recent call last):
File "testfile.py", line 4, in <module>
import test
File "[...]/Documents/git/test.py", line 4, in <module>
import proto.DSMessagesv3_pb2 as msg
File "[...]/Documents/git/proto/DSMessagesv3_pb2.py", line 6, in <module>
from google.protobuf import descriptor as _descriptor
File "/usr/lib/python2.7/site-packages/google/protobuf/descriptor.py",
line 50, in <module>
from google.protobuf.pyext import _message
ImportError: cannot import name _message
>From the descriptor.py file here is where it fails:
if api_implementation.Version() == 2:
from google.protobuf.pyext import _message
else:
from google.protobuf.internal import cpp_message
Also, before I ran my file I export the following environment variables per
README file in the python folder.
$ export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=cpp
$ export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION_VERSION=2
On Friday, July 29, 2016 at 11:10:08 AM UTC-6, Oi Lee wrote:
>
> I initially used a pure python implementation of protocol buffers, but I
> changed it later to use the c++ library implementation. So I installed
> protobuf using these github instructions
> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fgoogle%2Fprotobuf%2Fblob%2Fmaster%2Fsrc%2FREADME.md&sa=D&sntz=1&usg=AFQjCNG2r1BsKNbsZQp7Tx0dL3_pTM1fNg>
> and
> then I followed these instructions
> <https://github.com/google/protobuf/blob/master/python/README.md> to use
> the C++ implementation. But when I use api_implementation.Type()
> <https://cs.corp.google.com/piper///depot/google3/net/proto2/python/internal/api_implementation.py?is_navigation=1&q=package:%5E(piper)$+file:(%5E)//depot/google3/net/proto2/python/internal/api_implementation(%5C.(swig%7Cpy%7Cspt)$%7C/(__init__%5C.(swig%7Cpy%7Cspt))?$)&l=79>,
> it
> still returns 'python'. Why is it still using the python implementation?
> If this function should not be used, then what should I use to check
> implementation?
> I'm using protocol buffers 2.6.1 on CentOS.
>
--
You received this message because you are subscribed to the Google Groups
"Protocol Buffers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/protobuf.
For more options, visit https://groups.google.com/d/optout.