Merge pull request #4746 from hugovk/rm-soon-eol-3.5

Drop support for EOL Python 3.5
This commit is contained in:
Andrew Murray 2020-07-14 20:37:51 +10:00 committed by GitHub
commit 1f652954ba
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 39 additions and 56 deletions

View File

@ -14,7 +14,7 @@ environment:
matrix:
- PYTHON: C:/Python38
ARCHITECTURE: x86
- PYTHON: C:/Python35-x64
- PYTHON: C:/Python36-x64
ARCHITECTURE: x64

View File

@ -8,7 +8,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.5", "3.6", "3.7", "3.8", "pypy3"]
python-version: ["3.6", "3.7", "3.8", "pypy3"]
architecture: ["x86", "x64"]
include:
- architecture: "x86"

View File

@ -17,13 +17,12 @@ jobs:
"3.8",
"3.7",
"3.6",
"3.5",
]
include:
- python-version: "3.5"
env: PYTHONOPTIMIZE=2
- python-version: "3.6"
env: PYTHONOPTIMIZE=1
- python-version: "3.7"
env: PYTHONOPTIMIZE=2
# Include new variables for Codecov
- os: ubuntu-latest
codecov-flag: GHA_Ubuntu

View File

@ -23,7 +23,7 @@ matrix:
arch: arm64
- python: "3.7"
arch: ppc64le
- python: "3.5"
- python: "3.8"
arch: s390x
- python: "pypy3"
@ -35,16 +35,13 @@ matrix:
name: "3.8 Xenial"
services: xvfb
- python: '3.7'
name: "3.7 Xenial"
name: "3.7 Xenial PYTHONOPTIMIZE=2"
env: PYTHONOPTIMIZE=2
services: xvfb
- python: '3.6'
name: "3.6 Xenial PYTHONOPTIMIZE=1"
env: PYTHONOPTIMIZE=1
services: xvfb
- python: '3.5'
name: "3.5 Xenial PYTHONOPTIMIZE=2"
env: PYTHONOPTIMIZE=2
services: xvfb
allow_failures:
- python: "3.9-dev"

View File

@ -16,25 +16,27 @@ Notes
.. note:: Pillow is supported on the following Python versions
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|**Python** |**3.8**|**3.7**|**3.6**|**3.5**|**3.4**|**3.3**|**3.2**|**2.7**|**2.6**|**2.5**|**2.4**|
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|Pillow >= 7 | Yes | Yes | Yes | Yes | | | | | | | |
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|Pillow 6.2.1 - 6.2.2| Yes | Yes | Yes | Yes | | | | Yes | | | |
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|Pillow 6.0 - 6.2.0 | | Yes | Yes | Yes | | | | Yes | | | |
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|Pillow 5.2 - 5.4 | | Yes | Yes | Yes | Yes | | | Yes | | | |
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|Pillow 5.0 - 5.1 | | | Yes | Yes | Yes | | | Yes | | | |
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|Pillow 4 | | | Yes | Yes | Yes | Yes | | Yes | | | |
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|Pillow 2 - 3 | | | | Yes | Yes | Yes | Yes | Yes | Yes | | |
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|Pillow < 2 | | | | | | | | Yes | Yes | Yes | Yes |
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| **Python** |**3.9**|**3.8**|**3.7**|**3.6**|**3.5**|**3.4**|**3.3**|**3.2**|**2.7**|**2.6**|**2.5**|**2.4**|
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| Pillow >= 8.0 | Yes | Yes | Yes | Yes | | | | | | | | |
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| Pillow 7.0 - 7.2 | | Yes | Yes | Yes | Yes | | | | | | | |
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| Pillow 6.2.1 - 6.2.2 | | Yes | Yes | Yes | Yes | | | | Yes | | | |
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| Pillow 6.0 - 6.2.0 | | | Yes | Yes | Yes | | | | Yes | | | |
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| Pillow 5.2 - 5.4 | | | Yes | Yes | Yes | Yes | | | Yes | | | |
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| Pillow 5.0 - 5.1 | | | | Yes | Yes | Yes | | | Yes | | | |
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| Pillow 4 | | | | Yes | Yes | Yes | Yes | | Yes | | | |
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| Pillow 2 - 3 | | | | | Yes | Yes | Yes | Yes | Yes | Yes | | |
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| Pillow < 2 | | | | | | | | | Yes | Yes | Yes | Yes |
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
Basic Installation
------------------
@ -401,7 +403,7 @@ These platforms are built and tested for every change.
+----------------------------------+--------------------------+-----------------------+
| Fedora 32 | 3.8 |x86-64 |
+----------------------------------+--------------------------+-----------------------+
| macOS 10.15 Catalina | 3.5, 3.6, 3.7, 3.8, PyPy3|x86-64 |
| macOS 10.15 Catalina | 3.6, 3.7, 3.8, PyPy3 |x86-64 |
+----------------------------------+--------------------------+-----------------------+
| Ubuntu Linux 16.04 LTS | 3.5, 3.6, 3.7, 3.8, PyPy3|x86-64 |
+----------------------------------+--------------------------+-----------------------+
@ -411,11 +413,11 @@ These platforms are built and tested for every change.
+----------------------------------+--------------------------+-----------------------+
| Windows Server 2016 | 3.8 |x86 |
| +--------------------------+-----------------------+
| | 3.5 |x86-64 |
| | 3.6 |x86-64 |
| +--------------------------+-----------------------+
| | 3.7/MinGW |x86 |
+----------------------------------+--------------------------+-----------------------+
| Windows Server 2019 | 3.5, 3.6, 3.7, 3.8 |x86, x86-64 |
| Windows Server 2019 | 3.6, 3.7, 3.8 |x86, x86-64 |
| +--------------------------+-----------------------+
| | PyPy3 |x86 |
+----------------------------------+--------------------------+-----------------------+

View File

@ -1,5 +1,5 @@
# Development, documentation & testing requirements.
black; python_version >= '3.6'
black
check-manifest
coverage
jarn.viewdoc

View File

@ -880,7 +880,6 @@ try:
"Development Status :: 6 - Mature",
"License :: OSI Approved :: Historical Permission Notice and Disclaimer (HPND)", # noqa: E501
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
@ -893,7 +892,7 @@ try:
"Topic :: Multimedia :: Graphics :: Graphics Conversion",
"Topic :: Multimedia :: Graphics :: Viewers",
],
python_requires=">=3.5",
python_requires=">=3.6",
cmdclass={"build_ext": pil_build_ext},
ext_modules=[Extension("PIL._imaging", ["_imaging.c"])],
include_package_data=True,

View File

@ -4,13 +4,6 @@ import sys
from tkinter import _tkinter as tk
if hasattr(sys, "pypy_find_executable"):
# Tested with packages at https://bitbucket.org/pypy/pypy/downloads.
# PyPies 1.6, 2.0 do not have tkinter built in. PyPy3-2.3.1 gives an
# OSError trying to import tkinter. Otherwise:
try: # PyPy 5.1, 4.0.0, 2.6.1, 2.6.0
TKINTER_LIB = tk.tklib_cffi.__file__
except AttributeError:
# PyPy3 2.4, 2.1-beta1; PyPy 2.5.1, 2.5.0, 2.4.0, 2.3, 2.2, 2.1
TKINTER_LIB = tk.tkffi.verifier.modulefilename
TKINTER_LIB = tk.tklib_cffi.__file__
else:
TKINTER_LIB = tk.__file__

View File

@ -6,7 +6,7 @@
[tox]
envlist =
lint
py{35,36,37,38,py3}
py{36,37,38,py3}
minversion = 1.9
[testenv]

View File

@ -6,18 +6,17 @@ For more extensive info, see the [Windows build instructions](build.rst).
* See [Current Windows Build/Testing process (Pillow#553)](https://github.com/python-pillow/Pillow/issues/553#issuecomment-37877416),
[Definitive docs for how to compile on Windows (matplotlib#1717)](https://github.com/matplotlib/matplotlib/issues/1717#issuecomment-13343859),
[Test Windows with GitHub Actions (Pillow#4084)](https://github.com/python-pillow/Pillow/pull/4084).
* Requires Microsoft Visual Studio 2017 or newer with C++ component.
* Requires NASM for libjpeg-turbo, a required dependency when using this script.
* Requires CMake 3.12 or newer (available as Visual Studio component).
* Python 3.6+ is required to generate valid scripts, but builds targeting Python 3.5+ are supported.
* Tested on Windows Server 2016 with Visual Studio 2017 Community (AppVeyor).
* Tested on Windows Server 2019 with Visual Studio 2019 Enterprise (GitHub Actions).
The following is a simplified version of the script used on AppVeyor:
```
set PYTHON=C:\Python35\bin
set PYTHON=C:\Python38\bin
cd /D C:\Pillow\winbuild
C:\Python37\bin\python.exe build_prepare.py -v --depends=C:\pillow-depends
build\build_dep_all.cmd

View File

@ -12,12 +12,6 @@ Prerequisites
-------------
Python
^^^^^^
While the scripts can target any version of Python supported by Pillow,
Python 3.6+ is required to generate valid build scripts.
Compilers
^^^^^^^^^
@ -104,7 +98,7 @@ The following is a simplified version of the script used on AppVeyor:
.. code-block::
set PYTHON=C:\Python35\bin
set PYTHON=C:\Python38\bin
cd /D C:\Pillow\winbuild
C:\Python37\bin\python.exe build_prepare.py -v --depends=C:\pillow-depends
build\build_dep_all.cmd

View File

@ -456,7 +456,7 @@ def build_pillow():
cmd_cd("{pillow_dir}"),
*prefs["header"],
cmd_set("DISTUTILS_USE_SDK", "1"), # use same compiler to build Pillow
cmd_set("MSSdk", "1"), # for Python 3.5 and PyPy3.6
cmd_set("MSSdk", "1"), # for PyPy3.6
cmd_set("py_vcruntime_redist", "true"), # use /MD, not /MT
r'"{python_dir}\{python_exe}" setup.py build_ext %*',
]