mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-07-10 16:22:22 +03:00
Merge pull request #4746 from hugovk/rm-soon-eol-3.5
Drop support for EOL Python 3.5
This commit is contained in:
commit
1f652954ba
|
@ -14,7 +14,7 @@ environment:
|
||||||
matrix:
|
matrix:
|
||||||
- PYTHON: C:/Python38
|
- PYTHON: C:/Python38
|
||||||
ARCHITECTURE: x86
|
ARCHITECTURE: x86
|
||||||
- PYTHON: C:/Python35-x64
|
- PYTHON: C:/Python36-x64
|
||||||
ARCHITECTURE: x64
|
ARCHITECTURE: x64
|
||||||
|
|
||||||
|
|
||||||
|
|
2
.github/workflows/test-windows.yml
vendored
2
.github/workflows/test-windows.yml
vendored
|
@ -8,7 +8,7 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
python-version: ["3.5", "3.6", "3.7", "3.8", "pypy3"]
|
python-version: ["3.6", "3.7", "3.8", "pypy3"]
|
||||||
architecture: ["x86", "x64"]
|
architecture: ["x86", "x64"]
|
||||||
include:
|
include:
|
||||||
- architecture: "x86"
|
- architecture: "x86"
|
||||||
|
|
5
.github/workflows/test.yml
vendored
5
.github/workflows/test.yml
vendored
|
@ -17,13 +17,12 @@ jobs:
|
||||||
"3.8",
|
"3.8",
|
||||||
"3.7",
|
"3.7",
|
||||||
"3.6",
|
"3.6",
|
||||||
"3.5",
|
|
||||||
]
|
]
|
||||||
include:
|
include:
|
||||||
- python-version: "3.5"
|
|
||||||
env: PYTHONOPTIMIZE=2
|
|
||||||
- python-version: "3.6"
|
- python-version: "3.6"
|
||||||
env: PYTHONOPTIMIZE=1
|
env: PYTHONOPTIMIZE=1
|
||||||
|
- python-version: "3.7"
|
||||||
|
env: PYTHONOPTIMIZE=2
|
||||||
# Include new variables for Codecov
|
# Include new variables for Codecov
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
codecov-flag: GHA_Ubuntu
|
codecov-flag: GHA_Ubuntu
|
||||||
|
|
|
@ -23,7 +23,7 @@ matrix:
|
||||||
arch: arm64
|
arch: arm64
|
||||||
- python: "3.7"
|
- python: "3.7"
|
||||||
arch: ppc64le
|
arch: ppc64le
|
||||||
- python: "3.5"
|
- python: "3.8"
|
||||||
arch: s390x
|
arch: s390x
|
||||||
|
|
||||||
- python: "pypy3"
|
- python: "pypy3"
|
||||||
|
@ -35,16 +35,13 @@ matrix:
|
||||||
name: "3.8 Xenial"
|
name: "3.8 Xenial"
|
||||||
services: xvfb
|
services: xvfb
|
||||||
- python: '3.7'
|
- python: '3.7'
|
||||||
name: "3.7 Xenial"
|
name: "3.7 Xenial PYTHONOPTIMIZE=2"
|
||||||
|
env: PYTHONOPTIMIZE=2
|
||||||
services: xvfb
|
services: xvfb
|
||||||
- python: '3.6'
|
- python: '3.6'
|
||||||
name: "3.6 Xenial PYTHONOPTIMIZE=1"
|
name: "3.6 Xenial PYTHONOPTIMIZE=1"
|
||||||
env: PYTHONOPTIMIZE=1
|
env: PYTHONOPTIMIZE=1
|
||||||
services: xvfb
|
services: xvfb
|
||||||
- python: '3.5'
|
|
||||||
name: "3.5 Xenial PYTHONOPTIMIZE=2"
|
|
||||||
env: PYTHONOPTIMIZE=2
|
|
||||||
services: xvfb
|
|
||||||
|
|
||||||
allow_failures:
|
allow_failures:
|
||||||
- python: "3.9-dev"
|
- python: "3.9-dev"
|
||||||
|
|
|
@ -16,25 +16,27 @@ Notes
|
||||||
.. note:: Pillow is supported on the following Python versions
|
.. 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**|
|
| **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 >= 7 | Yes | Yes | Yes | Yes | | | | | | | |
|
| Pillow >= 8.0 | Yes | Yes | Yes | Yes | | | | | | | | |
|
||||||
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
||||||
|Pillow 6.2.1 - 6.2.2| Yes | Yes | Yes | Yes | | | | Yes | | | |
|
| Pillow 7.0 - 7.2 | | Yes | Yes | Yes | Yes | | | | | | | |
|
||||||
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
||||||
|Pillow 6.0 - 6.2.0 | | Yes | Yes | Yes | | | | Yes | | | |
|
| Pillow 6.2.1 - 6.2.2 | | Yes | Yes | Yes | Yes | | | | Yes | | | |
|
||||||
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
||||||
|Pillow 5.2 - 5.4 | | Yes | Yes | Yes | Yes | | | Yes | | | |
|
| Pillow 6.0 - 6.2.0 | | | Yes | Yes | Yes | | | | Yes | | | |
|
||||||
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
||||||
|Pillow 5.0 - 5.1 | | | Yes | Yes | Yes | | | Yes | | | |
|
| Pillow 5.2 - 5.4 | | | Yes | Yes | Yes | Yes | | | Yes | | | |
|
||||||
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
||||||
|Pillow 4 | | | Yes | Yes | Yes | Yes | | Yes | | | |
|
| Pillow 5.0 - 5.1 | | | | Yes | Yes | Yes | | | Yes | | | |
|
||||||
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
||||||
|Pillow 2 - 3 | | | | Yes | Yes | Yes | Yes | Yes | Yes | | |
|
| Pillow 4 | | | | Yes | Yes | Yes | Yes | | Yes | | | |
|
||||||
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
||||||
|Pillow < 2 | | | | | | | | Yes | Yes | Yes | Yes |
|
| Pillow 2 - 3 | | | | | Yes | Yes | Yes | Yes | Yes | Yes | | |
|
||||||
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
||||||
|
| Pillow < 2 | | | | | | | | | Yes | Yes | Yes | Yes |
|
||||||
|
+----------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|
||||||
|
|
||||||
Basic Installation
|
Basic Installation
|
||||||
------------------
|
------------------
|
||||||
|
@ -401,7 +403,7 @@ These platforms are built and tested for every change.
|
||||||
+----------------------------------+--------------------------+-----------------------+
|
+----------------------------------+--------------------------+-----------------------+
|
||||||
| Fedora 32 | 3.8 |x86-64 |
|
| 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 |
|
| 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 |
|
| Windows Server 2016 | 3.8 |x86 |
|
||||||
| +--------------------------+-----------------------+
|
| +--------------------------+-----------------------+
|
||||||
| | 3.5 |x86-64 |
|
| | 3.6 |x86-64 |
|
||||||
| +--------------------------+-----------------------+
|
| +--------------------------+-----------------------+
|
||||||
| | 3.7/MinGW |x86 |
|
| | 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 |
|
| | PyPy3 |x86 |
|
||||||
+----------------------------------+--------------------------+-----------------------+
|
+----------------------------------+--------------------------+-----------------------+
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# Development, documentation & testing requirements.
|
# Development, documentation & testing requirements.
|
||||||
black; python_version >= '3.6'
|
black
|
||||||
check-manifest
|
check-manifest
|
||||||
coverage
|
coverage
|
||||||
jarn.viewdoc
|
jarn.viewdoc
|
||||||
|
|
3
setup.py
3
setup.py
|
@ -880,7 +880,6 @@ try:
|
||||||
"Development Status :: 6 - Mature",
|
"Development Status :: 6 - Mature",
|
||||||
"License :: OSI Approved :: Historical Permission Notice and Disclaimer (HPND)", # noqa: E501
|
"License :: OSI Approved :: Historical Permission Notice and Disclaimer (HPND)", # noqa: E501
|
||||||
"Programming Language :: Python :: 3",
|
"Programming Language :: Python :: 3",
|
||||||
"Programming Language :: Python :: 3.5",
|
|
||||||
"Programming Language :: Python :: 3.6",
|
"Programming Language :: Python :: 3.6",
|
||||||
"Programming Language :: Python :: 3.7",
|
"Programming Language :: Python :: 3.7",
|
||||||
"Programming Language :: Python :: 3.8",
|
"Programming Language :: Python :: 3.8",
|
||||||
|
@ -893,7 +892,7 @@ try:
|
||||||
"Topic :: Multimedia :: Graphics :: Graphics Conversion",
|
"Topic :: Multimedia :: Graphics :: Graphics Conversion",
|
||||||
"Topic :: Multimedia :: Graphics :: Viewers",
|
"Topic :: Multimedia :: Graphics :: Viewers",
|
||||||
],
|
],
|
||||||
python_requires=">=3.5",
|
python_requires=">=3.6",
|
||||||
cmdclass={"build_ext": pil_build_ext},
|
cmdclass={"build_ext": pil_build_ext},
|
||||||
ext_modules=[Extension("PIL._imaging", ["_imaging.c"])],
|
ext_modules=[Extension("PIL._imaging", ["_imaging.c"])],
|
||||||
include_package_data=True,
|
include_package_data=True,
|
||||||
|
|
|
@ -4,13 +4,6 @@ import sys
|
||||||
from tkinter import _tkinter as tk
|
from tkinter import _tkinter as tk
|
||||||
|
|
||||||
if hasattr(sys, "pypy_find_executable"):
|
if hasattr(sys, "pypy_find_executable"):
|
||||||
# Tested with packages at https://bitbucket.org/pypy/pypy/downloads.
|
TKINTER_LIB = tk.tklib_cffi.__file__
|
||||||
# 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
|
|
||||||
else:
|
else:
|
||||||
TKINTER_LIB = tk.__file__
|
TKINTER_LIB = tk.__file__
|
||||||
|
|
2
tox.ini
2
tox.ini
|
@ -6,7 +6,7 @@
|
||||||
[tox]
|
[tox]
|
||||||
envlist =
|
envlist =
|
||||||
lint
|
lint
|
||||||
py{35,36,37,38,py3}
|
py{36,37,38,py3}
|
||||||
minversion = 1.9
|
minversion = 1.9
|
||||||
|
|
||||||
[testenv]
|
[testenv]
|
||||||
|
|
|
@ -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),
|
* 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),
|
[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).
|
[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 Microsoft Visual Studio 2017 or newer with C++ component.
|
||||||
* Requires NASM for libjpeg-turbo, a required dependency when using this script.
|
* Requires NASM for libjpeg-turbo, a required dependency when using this script.
|
||||||
* Requires CMake 3.12 or newer (available as Visual Studio component).
|
* 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 2016 with Visual Studio 2017 Community (AppVeyor).
|
||||||
* Tested on Windows Server 2019 with Visual Studio 2019 Enterprise (GitHub Actions).
|
* Tested on Windows Server 2019 with Visual Studio 2019 Enterprise (GitHub Actions).
|
||||||
|
|
||||||
The following is a simplified version of the script used on AppVeyor:
|
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
|
cd /D C:\Pillow\winbuild
|
||||||
C:\Python37\bin\python.exe build_prepare.py -v --depends=C:\pillow-depends
|
C:\Python37\bin\python.exe build_prepare.py -v --depends=C:\pillow-depends
|
||||||
build\build_dep_all.cmd
|
build\build_dep_all.cmd
|
||||||
|
|
|
@ -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
|
Compilers
|
||||||
^^^^^^^^^
|
^^^^^^^^^
|
||||||
|
|
||||||
|
@ -104,7 +98,7 @@ The following is a simplified version of the script used on AppVeyor:
|
||||||
|
|
||||||
.. code-block::
|
.. code-block::
|
||||||
|
|
||||||
set PYTHON=C:\Python35\bin
|
set PYTHON=C:\Python38\bin
|
||||||
cd /D C:\Pillow\winbuild
|
cd /D C:\Pillow\winbuild
|
||||||
C:\Python37\bin\python.exe build_prepare.py -v --depends=C:\pillow-depends
|
C:\Python37\bin\python.exe build_prepare.py -v --depends=C:\pillow-depends
|
||||||
build\build_dep_all.cmd
|
build\build_dep_all.cmd
|
||||||
|
|
|
@ -456,7 +456,7 @@ def build_pillow():
|
||||||
cmd_cd("{pillow_dir}"),
|
cmd_cd("{pillow_dir}"),
|
||||||
*prefs["header"],
|
*prefs["header"],
|
||||||
cmd_set("DISTUTILS_USE_SDK", "1"), # use same compiler to build Pillow
|
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
|
cmd_set("py_vcruntime_redist", "true"), # use /MD, not /MT
|
||||||
r'"{python_dir}\{python_exe}" setup.py build_ext %*',
|
r'"{python_dir}\{python_exe}" setup.py build_ext %*',
|
||||||
]
|
]
|
||||||
|
|
Loading…
Reference in New Issue
Block a user