diff --git a/python/paddle/distributed/spawn.py b/python/paddle/distributed/spawn.py index 4820d6dcd2f03e..f3505da0bb7180 100644 --- a/python/paddle/distributed/spawn.py +++ b/python/paddle/distributed/spawn.py @@ -68,16 +68,6 @@ def __init__(self): self.selected_devices = None -def _py_supported_check(): - if not sys.version_info >= (3, 4): - raise RuntimeError( - "Use `paddle.distributed.spawn` to start parallel training " - "requires python version greater than 3.4, if your python " - "is lower than this version, please use " - "`paddle.distributed.launch` instead." - ) - - def _options_valid_check(options): # `print_config` keeped as a debug options, not show to users supported_options = [ @@ -414,7 +404,6 @@ def _func_wrapper(func, args, error_queue, return_queue, env_dict, backend): class MultiprocessContext: def __init__(self, processes, error_queues, return_queues): - _py_supported_check() self.error_queues = error_queues # NOTE(chenweihang): The `spawn` method is mainly used # to wrap the outermost execution function of the program for @@ -598,13 +587,6 @@ def train(print_result=False): if __name__ == '__main__': dist.spawn(train, args=(True,), nprocs=2, gpus='4,5') """ - # NOTE(chenweihang): [ why only supports python3.4+ ? ] - # Python supported setting the child process startup method - # since 3.4. The previous version can only use the default startup - # method, while the default startup method of Unix is fork, which - # cannot support CUDA runtime multi-process - _py_supported_check() - # Give an error hint when the users enter a configuration option # that does not exist _options_valid_check(options) diff --git a/python/paddle/fluid/tests/unittests/collective/fleet/test_parallel_dygraph_mnist.py b/python/paddle/fluid/tests/unittests/collective/fleet/test_parallel_dygraph_mnist.py index 9008c0ef9f7477..67e27fde7fd2d0 100644 --- a/python/paddle/fluid/tests/unittests/collective/fleet/test_parallel_dygraph_mnist.py +++ b/python/paddle/fluid/tests/unittests/collective/fleet/test_parallel_dygraph_mnist.py @@ -13,7 +13,6 @@ # limitations under the License. import os -import sys import unittest from parallel_dygraph_mnist import TestMnist @@ -64,7 +63,7 @@ def test_mnist_xpu(self): class TestParallelDygraphMnistSpawn(TestDistSpawnRunner): def test_mnist_with_spawn(self): - if fluid.core.is_compiled_with_cuda() and sys.version_info >= (3, 4): + if fluid.core.is_compiled_with_cuda(): self.check_dist_result_with_spawn(test_class=TestMnist, delta=1e-5) diff --git a/python/paddle/fluid/tests/unittests/collective/fleet/test_parallel_dygraph_no_sync.py b/python/paddle/fluid/tests/unittests/collective/fleet/test_parallel_dygraph_no_sync.py index 6858a2a2d3b2f1..e940dbde86d768 100644 --- a/python/paddle/fluid/tests/unittests/collective/fleet/test_parallel_dygraph_no_sync.py +++ b/python/paddle/fluid/tests/unittests/collective/fleet/test_parallel_dygraph_no_sync.py @@ -13,7 +13,6 @@ # limitations under the License. import os -import sys import unittest from parallel_dygraph_no_sync import TestNoSync @@ -80,7 +79,7 @@ def test_no_sync_control_flow(self): class TestParallelDygraphNoSyncSpawn(TestDistSpawnRunner): def test_no_sync_with_spawn(self): - if fluid.core.is_compiled_with_cuda() and sys.version_info >= (3, 4): + if fluid.core.is_compiled_with_cuda(): self.check_dist_result_with_spawn(test_class=TestNoSync, delta=1e-5) @@ -89,7 +88,7 @@ def _args_config(self, args): args.find_unused_parameters = True def test_no_sync_with_spawn(self): - if fluid.core.is_compiled_with_cuda() and sys.version_info >= (3, 4): + if fluid.core.is_compiled_with_cuda(): self.check_dist_result_with_spawn( test_class=TestNoSyncUnusedParam, delta=1e-5 ) @@ -100,7 +99,7 @@ def _args_config(self, args): args.find_unused_parameters = True def test_no_sync_with_spawn(self): - if fluid.core.is_compiled_with_cuda() and sys.version_info >= (3, 4): + if fluid.core.is_compiled_with_cuda(): self.check_dist_result_with_spawn( test_class=TestNoSyncControlFlow, delta=1e-5 ) diff --git a/python/paddle/fluid/tests/unittests/collective/fleet/test_parallel_dygraph_se_resnext.py b/python/paddle/fluid/tests/unittests/collective/fleet/test_parallel_dygraph_se_resnext.py index b0d0dbf392baf9..51cc556e07c79b 100644 --- a/python/paddle/fluid/tests/unittests/collective/fleet/test_parallel_dygraph_se_resnext.py +++ b/python/paddle/fluid/tests/unittests/collective/fleet/test_parallel_dygraph_se_resnext.py @@ -13,7 +13,6 @@ # limitations under the License. import os -import sys import unittest from parallel_dygraph_se_resnext import TestSeResNeXt @@ -43,7 +42,7 @@ def test_se_resnext(self): class TestParallelDygraphSeResNeXtSpawn(TestDistSpawnRunner): def test_se_resnext_with_spawn(self): - if fluid.core.is_compiled_with_cuda() and sys.version_info >= (3, 4): + if fluid.core.is_compiled_with_cuda(): self.check_dist_result_with_spawn( test_class=TestSeResNeXt, delta=0.01 ) diff --git a/python/paddle/fluid/tests/unittests/collective/fleet/test_parallel_dygraph_sparse_embedding.py b/python/paddle/fluid/tests/unittests/collective/fleet/test_parallel_dygraph_sparse_embedding.py index cc89ebecab16c6..62570959f89156 100644 --- a/python/paddle/fluid/tests/unittests/collective/fleet/test_parallel_dygraph_sparse_embedding.py +++ b/python/paddle/fluid/tests/unittests/collective/fleet/test_parallel_dygraph_sparse_embedding.py @@ -13,7 +13,6 @@ # limitations under the License. import os -import sys import unittest from parallel_dygraph_sparse_embedding import TestSparseEmbedding @@ -61,7 +60,7 @@ def test_sparse_embedding_fp64(self): class TestParallelDygraphSparseEmdeddingSpawn(TestDistSpawnRunner): def test_sparse_embedding_with_spawn(self): - if fluid.core.is_compiled_with_cuda() and sys.version_info >= (3, 4): + if fluid.core.is_compiled_with_cuda(): self.check_dist_result_with_spawn( test_class=TestSparseEmbedding, delta=1e-5 ) diff --git a/python/paddle/fluid/tests/unittests/collective/fleet/test_parallel_dygraph_sparse_embedding_over_height.py b/python/paddle/fluid/tests/unittests/collective/fleet/test_parallel_dygraph_sparse_embedding_over_height.py index 87284c6203ebc1..96038bf18f62ef 100644 --- a/python/paddle/fluid/tests/unittests/collective/fleet/test_parallel_dygraph_sparse_embedding_over_height.py +++ b/python/paddle/fluid/tests/unittests/collective/fleet/test_parallel_dygraph_sparse_embedding_over_height.py @@ -13,7 +13,6 @@ # limitations under the License. import os -import sys import unittest from parallel_dygraph_sparse_embedding_over_height import ( @@ -47,7 +46,7 @@ def test_sparse_embedding(self): class TestParallelDygraphSparseEmdeddingOverHeightSpawn(TestDistSpawnRunner): def test_sparse_embedding_with_spawn(self): - if fluid.core.is_compiled_with_cuda() and sys.version_info >= (3, 4): + if fluid.core.is_compiled_with_cuda(): self.check_dist_result_with_spawn( test_class=TestSparseEmbeddingOverHeight, delta=1e-5 ) diff --git a/python/paddle/fluid/tests/unittests/collective/fleet/test_parallel_dygraph_unused_variables.py b/python/paddle/fluid/tests/unittests/collective/fleet/test_parallel_dygraph_unused_variables.py index 2d1701bb08b562..f19a4935974e7e 100644 --- a/python/paddle/fluid/tests/unittests/collective/fleet/test_parallel_dygraph_unused_variables.py +++ b/python/paddle/fluid/tests/unittests/collective/fleet/test_parallel_dygraph_unused_variables.py @@ -13,7 +13,6 @@ # limitations under the License. import os -import sys import unittest from parallel_dygraph_unused_variables import TestSparseEmbeddingUnusedVars @@ -51,7 +50,7 @@ def _setup_config(self): class TestSparseEmbeddingUnusedVarsSpawn(TestDistSpawnRunner): def test_mnist_with_spawn(self): - if fluid.core.is_compiled_with_cuda() and sys.version_info >= (3, 4): + if fluid.core.is_compiled_with_cuda(): self.check_dist_result_with_spawn( test_class=TestSparseEmbeddingUnusedVars, delta=1e-5 ) diff --git a/python/paddle/fluid/tests/unittests/test_paddle_save_load.py b/python/paddle/fluid/tests/unittests/test_paddle_save_load.py index d891b072940e92..ed9ffcaab9da99 100644 --- a/python/paddle/fluid/tests/unittests/test_paddle_save_load.py +++ b/python/paddle/fluid/tests/unittests/test_paddle_save_load.py @@ -15,7 +15,6 @@ import unittest import numpy as np import os -import sys from io import BytesIO import tempfile @@ -149,11 +148,7 @@ def test_pickle_protocol(self): with self.assertRaises(ValueError): paddle.save(save_dict, path, 5) - protocols = [ - 2, - ] - if sys.version_info.major >= 3 and sys.version_info.minor >= 4: - protocols += [3, 4] + protocols = [2, 3, 4] for protocol in protocols: paddle.save(save_dict, path, pickle_protocol=protocol) dict_load = paddle.load(path) diff --git a/python/paddle/fluid/tests/unittests/test_static_save_load.py b/python/paddle/fluid/tests/unittests/test_static_save_load.py index 720575d4457d5b..90f3246bb87835 100644 --- a/python/paddle/fluid/tests/unittests/test_static_save_load.py +++ b/python/paddle/fluid/tests/unittests/test_static_save_load.py @@ -12,7 +12,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -import sys import unittest import paddle @@ -1798,11 +1797,7 @@ def test_pickle_protocol(self): with self.assertRaises(ValueError): paddle.fluid.save(prog, path, 5) - protocols = [ - 2, - ] - if sys.version_info.major >= 3 and sys.version_info.minor >= 4: - protocols += [3, 4] + protocols = [2, 3, 4] for protocol in protocols: paddle.fluid.save(prog, path, protocol) # set var to zero diff --git a/python/paddle/hapi/progressbar.py b/python/paddle/hapi/progressbar.py index 77f090471dfb91..0f6f375b2a38be 100644 --- a/python/paddle/hapi/progressbar.py +++ b/python/paddle/hapi/progressbar.py @@ -17,7 +17,6 @@ import time import numpy as np import struct -from collections import namedtuple __all__ = [] @@ -57,16 +56,7 @@ def __init__( ) def _get_max_width(self): - if sys.version_info > (3, 3): - from shutil import get_terminal_size - else: - try: - from backports.shutil_get_terminal_size import get_terminal_size - except: - - def get_terminal_size(): - terminal_size = namedtuple("terminal_size", "columns lines") - return terminal_size(80, 24) + from shutil import get_terminal_size terminal_width, _ = get_terminal_size() terminal_width = terminal_width if terminal_width > 0 else 80 diff --git a/python/paddle/incubate/multiprocessing/reductions.py b/python/paddle/incubate/multiprocessing/reductions.py index e60d90a9d62a08..04fe123fdc1930 100644 --- a/python/paddle/incubate/multiprocessing/reductions.py +++ b/python/paddle/incubate/multiprocessing/reductions.py @@ -18,7 +18,6 @@ # TODO: check serializing named tensor # TODO: check influence on autograd import sys -import warnings import copy import threading from multiprocessing.util import register_after_fork @@ -34,14 +33,6 @@ def _supported_check(): return False - if not sys.version_info >= (3, 4): - warnings.warn( - "Use `paddle.multiprocessing` to share paddle tensor " - "requires python version greater than 3.4 ." - " `paddle.multiprocessing` will not take any effect !!!" - ) - return False - return True diff --git a/python/paddle/vision/datasets/folder.py b/python/paddle/vision/datasets/folder.py index 6ac0c4ca917238..96a5b9b200eea9 100644 --- a/python/paddle/vision/datasets/folder.py +++ b/python/paddle/vision/datasets/folder.py @@ -13,7 +13,6 @@ # limitations under the License. import os -import sys from PIL import Image import paddle @@ -246,15 +245,7 @@ def _find_classes(self, dir): and class_to_idx is a dictionary. """ - if sys.version_info >= (3, 5): - # Faster and available in Python 3.5 and above - classes = [d.name for d in os.scandir(dir) if d.is_dir()] - else: - classes = [ - d - for d in os.listdir(dir) - if os.path.isdir(os.path.join(dir, d)) - ] + classes = [d.name for d in os.scandir(dir) if d.is_dir()] classes.sort() class_to_idx = {classes[i]: i for i in range(len(classes))} return classes, class_to_idx diff --git a/tools/dockerfile/build_scripts/ssl-check.py b/tools/dockerfile/build_scripts/ssl-check.py index b44a5753c1a6f9..6c0f07330e9354 100644 --- a/tools/dockerfile/build_scripts/ssl-check.py +++ b/tools/dockerfile/build_scripts/ssl-check.py @@ -21,10 +21,6 @@ print("Testing SSL certificate checking for Python:", sys.version) -if sys.version_info[:2] < (2, 7) or sys.version_info[:2] < (3, 4): - print("This version never checks SSL certs; skipping tests") - sys.exit(0) - if sys.version_info[0] >= 3: from urllib.request import urlopen