Browse Source

Update minimal Python version to 2.7 (#4207)

Yuchen Xie 7 năm trước cách đây
mục cha
commit
595231dd5c

+ 1 - 1
python/README.md

@@ -30,7 +30,7 @@ join the Protocol Buffers discussion list and let us know!
 Installation
 ============
 
-1) Make sure you have Python 2.6 or newer.  If in doubt, run:
+1) Make sure you have Python 2.7 or newer.  If in doubt, run:
 
        $ python -V
 

+ 0 - 3
python/google/protobuf/internal/json_format_test.py

@@ -791,9 +791,6 @@ class JsonFormatTest(JsonFormatBase):
     json_format.Parse(text, parsed_message, ignore_unknown_fields=True)
 
   def testDuplicateField(self):
-    # Duplicate key check is not supported for python2.6
-    if sys.version_info < (2, 7):
-      return
     self.CheckError('{"int32Value": 1,\n"int32Value":2}',
                     'Failed to load JSON: duplicate key int32Value.')
 

+ 1 - 5
python/google/protobuf/json_format.py

@@ -396,11 +396,7 @@ def Parse(text, message, ignore_unknown_fields=False):
   """
   if not isinstance(text, six.text_type): text = text.decode('utf-8')
   try:
-    if sys.version_info < (2, 7):
-      # object_pair_hook is not supported before python2.7
-      js = json.loads(text)
-    else:
-      js = json.loads(text, object_pairs_hook=_DuplicateChecker)
+    js = json.loads(text, object_pairs_hook=_DuplicateChecker)
   except ValueError as e:
     raise ParseError('Failed to load JSON: {0}.'.format(str(e)))
   return ParseDict(js, message, ignore_unknown_fields)

+ 3 - 4
python/setup.py

@@ -149,10 +149,9 @@ class build_py(_build_py):
 class test_conformance(_build_py):
   target = 'test_python'
   def run(self):
-    if sys.version_info >= (2, 7):
-      # Python 2.6 dodges these extra failures.
-      os.environ["CONFORMANCE_PYTHON_EXTRA_FAILURES"] = (
-          "--failure_list failure_list_python-post26.txt")
+    # Python 2.6 dodges these extra failures.
+    os.environ["CONFORMANCE_PYTHON_EXTRA_FAILURES"] = (
+        "--failure_list failure_list_python-post26.txt")
     cmd = 'cd ../conformance && make %s' % (test_conformance.target)
     status = subprocess.check_call(cmd, shell=True)