Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drop support for EOL Python 3.5 #4746

Merged
merged 10 commits into from Jul 14, 2020
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion .appveyor.yml
Expand Up @@ -14,7 +14,7 @@ environment:
matrix:
- PYTHON: C:/Python38
ARCHITECTURE: x86
- PYTHON: C:/Python35-x64
- PYTHON: C:/Python36-x64
ARCHITECTURE: x64


Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-windows.yml
Expand Up @@ -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"
Expand Down
5 changes: 2 additions & 3 deletions .github/workflows/test.yml
Expand Up @@ -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
Expand Down
7 changes: 2 additions & 5 deletions .travis.yml
Expand Up @@ -23,7 +23,7 @@ matrix:
arch: arm64
- python: "3.7"
arch: ppc64le
- python: "3.5"
- python: "3.8"
arch: s390x

- python: "pypy3"
Expand All @@ -36,15 +36,12 @@ matrix:
services: xvfb
- python: '3.7'
name: "3.7 Xenial"
hugovk marked this conversation as resolved.
Show resolved Hide resolved
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

install:
- |
Expand Down
4 changes: 3 additions & 1 deletion docs/installation.rst
Expand Up @@ -19,7 +19,9 @@ Notes
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|**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 >= 7.3 | Yes | Yes | Yes | | | | | | | | |
hugovk marked this conversation as resolved.
Show resolved Hide resolved
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|Pillow 7.0 - 7.2 | Yes | Yes | Yes | Yes | | | | | | | |
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|Pillow 6.2.1 - 6.2.2| Yes | Yes | Yes | Yes | | | | Yes | | | |
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
Expand Down
3 changes: 1 addition & 2 deletions setup.py
Expand Up @@ -880,7 +880,6 @@ def debug_build():
"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",
Expand All @@ -893,7 +892,7 @@ def debug_build():
"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,
Expand Down
9 changes: 1 addition & 8 deletions src/PIL/_tkinter_finder.py
Expand Up @@ -4,13 +4,6 @@
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__
2 changes: 1 addition & 1 deletion tox.ini
Expand Up @@ -6,7 +6,7 @@
[tox]
envlist =
lint
py{35,36,37,38,py3}
py{36,37,38,py3}
minversion = 1.9

[testenv]
Expand Down
5 changes: 2 additions & 3 deletions winbuild/README.md
Expand Up @@ -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
Expand Down
8 changes: 1 addition & 7 deletions winbuild/build.rst
Expand Up @@ -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
^^^^^^^^^

Expand Down Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion winbuild/build_prepare.py
Expand Up @@ -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
Comment on lines -459 to 460
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to note here so I don't forget:

MSSdk and py_vcruntime_redist will no longer be required by PyPy in the next release.

py_vcruntime_redist is still required by CPython 3.6, but not CPython 3.7.

r'"{python_dir}\{python_exe}" setup.py build_ext %*',
]
Expand Down