Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@ environment:
- PYTHON: C:/Python36-x64
- PYTHON: C:/Python35
- PYTHON: C:/Python35-x64
- PYTHON: C:/Python34
- PYTHON: C:/Python34-x64
- PYTHON: C:/msys64/mingw32
EXECUTABLE: bin/python3
PIP_DIR: bin
Expand Down
3 changes: 0 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,6 @@ matrix:
name: "3.5 Trusty PYTHONOPTIMIZE=2"
dist: trusty
env: PYTHONOPTIMIZE=2
- python: '3.4'
name: "3.4 Trusty"
dist: trusty
- env: DOCKER="alpine" DOCKER_TAG="master"
- env: DOCKER="arch" DOCKER_TAG="master" # contains PyQt5
- env: DOCKER="ubuntu-trusty-x86" DOCKER_TAG="master"
Expand Down
6 changes: 2 additions & 4 deletions Tests/test_image_access.py
Original file line number Diff line number Diff line change
Expand Up @@ -310,10 +310,8 @@ def test_p_putpixel_rgb_rgba(self):

class TestEmbeddable(unittest.TestCase):
@unittest.skipIf(not sys.platform.startswith('win32') or
sys.version_info[:2] == (3, 4) or
on_appveyor(), # failing on appveyor when run from
# subprocess, not from shell
"requires Python 2.7 or >=3.5 for Windows")
on_appveyor(),
"Failing on AppVeyor when run from subprocess, not from shell")
def test_embeddable(self):
import subprocess
import ctypes
Expand Down
12 changes: 7 additions & 5 deletions docs/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@ Notes
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|Pillow 5.0.x - 5.1.x| | | | Yes | | | Yes | Yes | Yes | |
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|Pillow >= 5.2.0 | | | | Yes | | | Yes | Yes | Yes | Yes |
|Pillow 5.2.x - 5.5.x| | | | Yes | | | Yes | Yes | Yes | Yes |
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
|Pillow >= 6.0.0 | | | | Yes | | | | Yes | Yes | Yes |
+--------------------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+

Basic Installation
Expand Down Expand Up @@ -170,7 +172,7 @@ Many of Pillow's features require external libraries:
the Pillow license, therefore we will not be distributing binaries
with libimagequant support enabled.
* Windows support: Libimagequant requires VS2013/MSVC 18 to compile,
so it is unlikely to work with any Python prior to 3.5 on Windows.
so it is unlikely to work with Python 2.7 on Windows.

* **libraqm** provides complex text layout support.

Expand Down Expand Up @@ -394,16 +396,16 @@ These platforms are built and tested for every change.
+----------------------------------+-------------------------------+-----------------------+
| Fedora 29 | 2.7 |x86-64 |
+----------------------------------+-------------------------------+-----------------------+
| Mac OS X 10.10 Yosemite* | 2.7, 3.4, 3.5, 3.6, 3.7 |x86-64 |
| Mac OS X 10.10 Yosemite* | 2.7, 3.5, 3.6, 3.7 |x86-64 |
+----------------------------------+-------------------------------+-----------------------+
| Ubuntu Linux 16.04 LTS | 2.7, 3.5, 3.6, 3.7, |x86-64 |
| | PyPy, PyPy3 | |
+----------------------------------+-------------------------------+-----------------------+
| Ubuntu Linux 14.04 LTS | 2.7, 3.4, 3.5, 3.6 |x86-64 |
| Ubuntu Linux 14.04 LTS | 2.7, 3.5, 3.6 |x86-64 |
| +-------------------------------+-----------------------+
| | 2.7 |x86 |
+----------------------------------+-------------------------------+-----------------------+
| Windows Server 2012 R2 | 2.7, 3.4, 3.5, 3.6, 3.7 |x86, x86-64 |
| Windows Server 2012 R2 | 2.7, 3.5, 3.6, 3.7 |x86, x86-64 |
| +-------------------------------+-----------------------+
| | PyPy, 3.7/MinGW |x86 |
+----------------------------------+-------------------------------+-----------------------+
Expand Down
6 changes: 3 additions & 3 deletions mp_compile.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# A monkey patch of the base distutils.ccompiler to use parallel builds
# Tested on 2.7, looks to be identical to 3.3.
# Only applied on Python < 3.5 because otherwise, it conflicts with Python's
# Only applied on Python 2.7 because otherwise, it conflicts with Python's
# own newly-added support for parallel builds.

from __future__ import print_function
Expand Down Expand Up @@ -79,6 +79,6 @@ def install():
"%s processes" % MAX_PROCS)


# We monkeypatch only versions earlier than 3.5
if sys.version_info < (3, 5):
# We monkeypatch Python 2.7
if sys.version_info.major < 3:
install()
7 changes: 3 additions & 4 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -265,8 +265,8 @@ def finalize_options(self):
if self.debug:
global DEBUG
DEBUG = True
if sys.version_info >= (3, 5) and not self.parallel:
# For Python < 3.5, we monkeypatch distutils to have parallel
if sys.version_info.major >= 3 and not self.parallel:
# For Python 2.7, we monkeypatch distutils to have parallel
# builds. If --parallel (or -j) wasn't specified, we want to
# reproduce the same behavior as before, that is, auto-detect the
# number of jobs.
Expand Down Expand Up @@ -774,14 +774,13 @@ def debug_build():
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
],
python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*",
python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*",
cmdclass={"build_ext": pil_build_ext},
ext_modules=[Extension("PIL._imaging", ["_imaging.c"])],
include_package_data=True,
Expand Down
2 changes: 1 addition & 1 deletion tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# and then run "tox" from this directory.

[tox]
envlist = py27, py34, py35, py36, py37
envlist = py27, py35, py36, py37

[testenv]
commands =
Expand Down
2 changes: 0 additions & 2 deletions winbuild/build_dep.py
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,6 @@ def build_ghostscript(compiler, bit):
""" + vc_setup(compiler, bit) + r"""
set MSVC_VERSION=""" + {
"2008": "9",
"2010": "10",
"2015": "14"
}[compiler['vc_version']] + r"""
set RCOMP="C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin\RC.Exe"
Expand Down Expand Up @@ -308,7 +307,6 @@ def add_compiler(compiler, bit):
# for compiler in all_compilers():
# add_compiler(compiler)
add_compiler(compilers[7.0][2008][32], 32)
# add_compiler(compilers[7.1][2010][64])

with open('build_deps.cmd', 'w') as f:
f.write("\n".join(script))
19 changes: 0 additions & 19 deletions winbuild/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@

pythons = {'27': {'compiler': 7, 'vc': 2008},
'pypy2': {'compiler': 7, 'vc': 2008},
'34': {'compiler': 7.1, 'vc': 2010},
'35': {'compiler': 7.1, 'vc': 2015},
'36': {'compiler': 7.1, 'vc': 2015},
'37': {'compiler': 7.1, 'vc': 2015}}
Expand Down Expand Up @@ -104,24 +103,6 @@
}
},
7.1: {
2010: {
64: {
'env_version': 'v7.1',
'vc_version': '2010',
'env_flags': '/x64 /vista',
'inc_dir': 'msvcr10-x64',
'platform': 'x64',
'webp_platform': 'x64',
},
32: {
'env_version': 'v7.1',
'vc_version': '2010',
'env_flags': '/x86 /vista',
'inc_dir': 'msvcr10-x32',
'platform': 'Win32',
'webp_platform': 'x86',
}
},
2015: {
64: {
'env_version': 'v7.1',
Expand Down