From 90b3db476fa3723dd63d51b1d9ea3178addecc69 Mon Sep 17 00:00:00 2001 From: Donald Stufft Date: Thu, 17 May 2018 13:34:48 -0400 Subject: [PATCH] Drop support for Python 3.3 --- .travis.yml | 2 -- appveyor.yml | 4 +--- docs/installing.rst | 2 +- news/3796.removal | 1 + setup.py | 3 +-- src/pip/_internal/basecommand.py | 9 --------- tests/functional/test_install.py | 12 +----------- tests/lib/__init__.py | 3 --- tox.ini | 2 +- 9 files changed, 6 insertions(+), 32 deletions(-) create mode 100644 news/3796.removal diff --git a/.travis.yml b/.travis.yml index 5aea53a0c..aac434c96 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,8 +22,6 @@ matrix: - env: TOXENV=py36 python: 3.6 # All the other Py3 versions - - env: TOXENV=py33 - python: 3.3 - env: TOXENV=py34 python: 3.4 - env: TOXENV=py35 diff --git a/appveyor.yml b/appveyor.yml index d778c7ae4..078b4db0f 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,14 +1,12 @@ environment: matrix: - # Unit and integration tests. + # Unit and integration tests. - PYTHON: "C:\\Python27" RUN_INTEGRATION_TESTS: "True" - PYTHON: "C:\\Python36-x64" RUN_INTEGRATION_TESTS: "True" # Unit tests only. - PYTHON: "C:\\Python27-x64" - - PYTHON: "C:\\Python33" - - PYTHON: "C:\\Python33-x64" - PYTHON: "C:\\Python34" - PYTHON: "C:\\Python34-x64" - PYTHON: "C:\\Python35" diff --git a/docs/installing.rst b/docs/installing.rst index 8b1be94a0..3d45a3809 100644 --- a/docs/installing.rst +++ b/docs/installing.rst @@ -102,7 +102,7 @@ On Windows [4]_:: Python and OS Compatibility --------------------------- -pip works with CPython versions 2.7, 3.3, 3.4, 3.5, 3.6 and also pypy. +pip works with CPython versions 2.7, 3.4, 3.5, 3.6 and also pypy. This means pip works on the latest patch version of each of these minor versions. Previous patch versions are supported on a best effort approach. diff --git a/news/3796.removal b/news/3796.removal new file mode 100644 index 000000000..c4c4bbb17 --- /dev/null +++ b/news/3796.removal @@ -0,0 +1 @@ +Dropped support for Python 3.3. diff --git a/setup.py b/setup.py index f5193459e..eac9d28d6 100644 --- a/setup.py +++ b/setup.py @@ -51,7 +51,6 @@ setup( "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", @@ -83,7 +82,7 @@ setup( }, tests_require=tests_require, zip_safe=False, - python_requires='>=2.7,!=3.0.*,!=3.1.*,!=3.2.*', + python_requires='>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*', extras_require={ 'testing': tests_require, }, diff --git a/src/pip/_internal/basecommand.py b/src/pip/_internal/basecommand.py index cfd5d6757..5f8f6422b 100644 --- a/src/pip/_internal/basecommand.py +++ b/src/pip/_internal/basecommand.py @@ -6,7 +6,6 @@ import logging.config import optparse import os import sys -import warnings from pip._internal import cmdoptions from pip._internal.baseparser import ( @@ -26,7 +25,6 @@ from pip._internal.status_codes import ( ERROR, PREVIOUS_BUILD_DIR_ERROR, SUCCESS, UNKNOWN_ERROR, VIRTUALENV_NOT_FOUND, ) -from pip._internal.utils import deprecation from pip._internal.utils.logging import IndentingFormatter from pip._internal.utils.misc import get_prog, normalize_path from pip._internal.utils.outdated import pip_version_check @@ -198,13 +196,6 @@ class Command(object): }, }) - if sys.version_info[:2] == (3, 3): - warnings.warn( - "Python 3.3 support has been deprecated and will be dropped " - "in the future. Please upgrade your Python.", - deprecation.RemovedInPip11Warning, - ) - # TODO: try to get these passing down from the command? # without resorting to os.environ to hold these. diff --git a/tests/functional/test_install.py b/tests/functional/test_install.py index f61629299..ac704f1d6 100644 --- a/tests/functional/test_install.py +++ b/tests/functional/test_install.py @@ -32,16 +32,11 @@ def test_pep518_uses_build_env(script, data, original_setuptools): raise ValueError(original_setuptools) to_install = data.src.join("pep518-3.0") for command in ('install', 'wheel'): - kwargs = {} - if sys.version_info[:2] == (3, 3): - # Ignore Python 3.3 deprecation warning... - kwargs['expect_stderr'] = True script.run( "python", "-c", "import pip._internal; pip._internal.main([" "%r, " "'-f', %r, " "%r, " "])" % (command, str(data.packages), str(to_install)), - **kwargs ) @@ -55,16 +50,11 @@ def test_pep518_with_user_pip(script, virtualenv, pip_src, data): fp.write('raise ImportError\n') to_install = data.src.join("pep518-3.0") for command in ('install', 'wheel'): - kwargs = {} - if sys.version_info[:2] == (3, 3): - # Ignore Python 3.3 deprecation warning... - kwargs['expect_stderr'] = True script.run( "python", "-c", "import pip._internal; pip._internal.main([" "%r, " "'-f', %r, " "%r, " "])" % (command, str(data.packages), str(to_install)), - **kwargs ) @@ -76,7 +66,7 @@ def test_pip_second_command_line_interface_works(script, data): # On old versions of Python, urllib3/requests will raise a warning about # the lack of an SSLContext. kwargs = {} - if pyversion_tuple < (2, 7, 9) or pyversion_tuple[:2] == (3, 3): + if pyversion_tuple < (2, 7, 9): kwargs['expect_stderr'] = True args = ['pip%s' % pyversion] diff --git a/tests/lib/__init__.py b/tests/lib/__init__.py index ffa69640d..cf9536060 100644 --- a/tests/lib/__init__.py +++ b/tests/lib/__init__.py @@ -372,9 +372,6 @@ class PipTestEnvironment(scripttest.TestFileEnvironment): if (pyversion_tuple < (2, 7, 9) and args and args[0] in ('search', 'install', 'download')): kwargs['expect_stderr'] = True - # Python 3.3 is deprecated and we emit a warning on it. - if pyversion_tuple[:2] == (3, 3): - kwargs['expect_stderr'] = True if kwargs.pop('use_module', False): exe = 'python' args = ('-m', 'pip') + args diff --git a/tox.ini b/tox.ini index e5cd70a57..34d474c1f 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,7 @@ [tox] envlist = docs, packaging, lint-py2, lint-py3, mypy, - py27, py33, py34, py35, py36, py37, pypy + py27, py34, py35, py36, py37, pypy [testenv] passenv = CI GIT_SSL_CAINFO