Browse Source

Fix python cpp.

Bo Yang 9 years ago
parent
commit
411968d01f

+ 4 - 1
python/google/protobuf/internal/python_message.py

@@ -63,7 +63,10 @@ except ImportError:
   # nothing like hermetic Python. This means lesser control on the system and
   # nothing like hermetic Python. This means lesser control on the system and
   # the six.moves package may be missing (is missing on 20150321 on gMac). Be
   # the six.moves package may be missing (is missing on 20150321 on gMac). Be
   # extra conservative and try to load the old replacement if it fails.
   # extra conservative and try to load the old replacement if it fails.
-  import copy_reg as copyreg
+  try:
+    import copy_reg as copyreg  #PY26
+  except ImportError:
+    import copyreg
 
 
 # We use "as" to avoid name collisions with variables.
 # We use "as" to avoid name collisions with variables.
 from google.protobuf.internal import containers
 from google.protobuf.internal import containers

+ 8 - 4
python/google/protobuf/internal/testing_refleaks.py

@@ -38,10 +38,14 @@ If sys.gettotalrefcount() is not available (because Python was built without
 the Py_DEBUG option), then this module is a no-op and tests will run normally.
 the Py_DEBUG option), then this module is a no-op and tests will run normally.
 """
 """
 
 
-import copy_reg
 import gc
 import gc
 import sys
 import sys
 
 
+try:
+  import copy_reg as copyreg  #PY26
+except ImportError:
+  import copyreg
+
 try:
 try:
   import unittest2 as unittest  #PY26
   import unittest2 as unittest  #PY26
 except ImportError:
 except ImportError:
@@ -74,7 +78,7 @@ class ReferenceLeakCheckerTestCase(unittest.TestCase):
     # python_message.py registers all Message classes to some pickle global
     # python_message.py registers all Message classes to some pickle global
     # registry, which makes the classes immortal.
     # registry, which makes the classes immortal.
     # We save a copy of this registry, and reset it before we could references.
     # We save a copy of this registry, and reset it before we could references.
-    self._saved_pickle_registry = copy_reg.dispatch_table.copy()
+    self._saved_pickle_registry = copyreg.dispatch_table.copy()
 
 
     # Run the test twice, to warm up the instance attributes.
     # Run the test twice, to warm up the instance attributes.
     super(ReferenceLeakCheckerTestCase, self).run(result=result)
     super(ReferenceLeakCheckerTestCase, self).run(result=result)
@@ -97,8 +101,8 @@ class ReferenceLeakCheckerTestCase(unittest.TestCase):
       result.addError(self, sys.exc_info())
       result.addError(self, sys.exc_info())
 
 
   def _getRefcounts(self):
   def _getRefcounts(self):
-    copy_reg.dispatch_table.clear()
-    copy_reg.dispatch_table.update(self._saved_pickle_registry)
+    copyreg.dispatch_table.clear()
+    copyreg.dispatch_table.update(self._saved_pickle_registry)
     # It is sometimes necessary to gc.collect() multiple times, to ensure
     # It is sometimes necessary to gc.collect() multiple times, to ensure
     # that all objects can be collected.
     # that all objects can be collected.
     gc.collect()
     gc.collect()

+ 1 - 1
python/google/protobuf/pyext/descriptor_pool.h

@@ -40,7 +40,7 @@ namespace google {
 namespace protobuf {
 namespace protobuf {
 namespace python {
 namespace python {
 
 
-class PyMessageFactory;
+struct PyMessageFactory;
 
 
 // The (meta) type of all Messages classes.
 // The (meta) type of all Messages classes.
 struct CMessageClass;
 struct CMessageClass;

+ 0 - 7
python/google/protobuf/pyext/message.cc

@@ -2831,13 +2831,6 @@ static Message* MutableCProtoInsidePyProtoImpl(PyObject* msg) {
   return cmsg->message;
   return cmsg->message;
 }
 }
 
 
-static const char module_docstring[] =
-"python-proto2 is a module that can be used to enhance proto2 Python API\n"
-"performance.\n"
-"\n"
-"It provides access to the protocol buffers C++ reflection API that\n"
-"implements the basic protocol buffer functions.";
-
 void InitGlobals() {
 void InitGlobals() {
   // TODO(gps): Check all return values in this function for NULL and propagate
   // TODO(gps): Check all return values in this function for NULL and propagate
   // the error (MemoryError) on up to result in an import failure.  These should
   // the error (MemoryError) on up to result in an import failure.  These should

+ 0 - 2
tests.sh

@@ -296,8 +296,6 @@ build_python() {
 build_python_cpp() {
 build_python_cpp() {
   internal_build_cpp
   internal_build_cpp
   internal_install_python_deps
   internal_install_python_deps
-  export LD_LIBRARY_PATH=../src/.libs # for Linux
-  export DYLD_LIBRARY_PATH=../src/.libs # for OS X
   cd python
   cd python
   # Only test Python 2.6/3.x on Linux
   # Only test Python 2.6/3.x on Linux
   if [ $(uname -s) == "Linux" ]; then
   if [ $(uname -s) == "Linux" ]; then