Skip to content

Latest commit

 

History

History
93 lines (64 loc) · 2.66 KB

build.rst

File metadata and controls

93 lines (64 loc) · 2.66 KB

Building Pillow on Windows

Note

For most people, the installation instructions should be sufficient.

This page will describe a build setup to build Pillow against the supported Python versions in 32 and 64-bit modes, using freely available Microsoft compilers. This has been developed and tested against 64-bit Windows 7 Professional and Windows Server 2012 64-bit version on Amazon EC2.

Prerequisites

Extra Build Helpers

  • Powershell (available by default on Windows Server)
  • GitHub client (provides git+bash shell)

Optional: * GPG (for checking signatures) (UNDONE -- Python signature checking)

Pythons

The build routines expect Python to be installed at C:PythonXX for 32-bit versions or C:PythonXXx64 for the 64-bit versions.

Download Python 3.4, install it, and add it to the path. This is the Python that we will use to bootstrap the build process. (The download routines are using 3 features, and installing 3.4 gives us pip and virtualenv as well, reducing the number of packages that we need to install.)

Download the rest of the Pythons by opening a command window, changing to the winbuild directory, and running python get_pythons.py.

UNDONE -- gpg verify the signatures (note that we can download from https)

Run each installer and set the proper path to the installation. Don't set any of them as the default Python, or add them to the path.

Compilers

Download and install:

The samples and the .NET SDK portions aren't required, just the compilers and other tools. UNDONE -- check exact wording.

Dependencies

The script 'build_dep.py' downloads and builds the dependencies. Open a command window, change directory into winbuild and run python build_dep.py.

This will download libjpeg, libtiff, libz, and freetype. It will then compile 32 and 64-bit versions of the libraries, with both versions of the compilers.

UNDONE -- lcms fails. UNDONE -- webp, jpeg2k not recognized

Building Pillow

Once the dependencies are built, run python build.py --clean to build and install Pillow in virtualenvs for each Python build. build.py --wheel will build wheels instead of installing into virtualenvs.

UNDONE -- suppressed output, what about failures.

Testing Pillow

Build and install Pillow, then run python test.py from the winbuild directory.