Hi,

 
https://developers.google.com/protocol-buffers/docs/reference/python-generated#cpp_impl
 
states that the default implementation is Python and that one needs to opt 
in to C++ by setting PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION.

However, when I install the latest version of protobuf without setting that 
environment variable I still seem to get the C++ implementation:


busunkim@busunkim:~$ python3 -m venv protobufenv

busunkim@busunkim:~$ source protobufenv/bin/activate

(protobufenv) busunkim@busunkim:~$ python3 -m pip install protobuf

Collecting protobuf

  Using cached 
https://files.pythonhosted.org/packages/35/0b/e39294cc56f54dd61d45b58668b0d78ec67bce7fead7baec7f01bebf498c/protobuf-3.15.8-cp38-cp38-manylinux1_x86_64.whl

Collecting six>=1.9 (from protobuf)

  Using cached 
https://files.pythonhosted.org/packages/ee/ff/48bde5c0f013094d729fe4b0316ba2a24774b3ff1c52d924a8a4cb04078a/six-1.15.0-py2.py3-none-any.whl

Installing collected packages: six, protobuf

Successfully installed protobuf-3.15.8 six-1.15.0

WARNING: You are using pip version 19.2.3, however version 21.0.1 is 
available.

You should consider upgrading via the 'pip install --upgrade pip' command.

(protobufenv) busunkim@busunkim:~$ python3

Python 3.8.3 (default, Jun 15 2020, 16:29:21) 

[GCC 9.3.0] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> from google.protobuf.internal import api_implementation

>>> api_implementation.Type()

'cpp'

 

Under what conditions does someone end up with the C++ implementation vs. 
the Python implementation? Is it possible to know in which version that 
change was made?

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/protobuf/27c84109-8cde-4cbf-8603-78d957f00891n%40googlegroups.com.

Reply via email to