At frist you need a working Python installation. You can download Python from: https://www.python.org/download/. MapProxy requires Python 2.7, 3.3, 3.4, 3.5 or 3.6. Python 2.6 should still work, but it is no longer officially supported. We would recommend the latest 2.7 version available.
If you are using your Python installation for other applications as well, then we advise you to install MapProxy into a virtual Python environment to avoid any conflicts with different dependencies. You can skip this if you only use the Python installation for MapProxy. Read about virtualenv if you want to now more about the benefits.
To create a new virtual environment for your MapProxy installation and to activate it go to the command line and call:
C:\Python27\python path\to\virtualenv.py c:\mapproxy_venv C:\mapproxy_venv\Scripts\activate.bat
The last step is required every time you start working with your MapProxy installation. Alternatively you can always explicitly call \mapproxy_venv\Scripts\<command>.
Apache mod_wsgi does not work well with virtualenv on Windows. If you want to use mod_wsgi for deployment, then you should skip the creation the virtualenv.
After you activated the new environment, you have access to python and pip. To install MapProxy with most dependencies call:
pip install MapProxy
This might take a minute. You can skip the next step.
MapProxy and most dependencies can be installed with the pip command. pip is already installed if you are using Python >=2.7.9, or Python >=3.4. Read the pip documentation for more information.
After that you can install MapProxy with:
c:\Python27\Scripts\pip install MapProxy
This might take a minute.
Read Dependency details for more information about all dependencies.
Pillow and PyYAML are installed automatically by pip.
Since libproj4 is generally not available on a Windows system, you will also need to install the Python package pyproj. You need to manually download the pyproj package for your system. See below for Platform dependent packages.
pip install path\to\pyproj-xxx.whl
Shapely can be installed with pip install Shapely. This will already include the required geos.dll.
MapProxy requires GDAL/OGR for coverage support. MapProxy can either load the gdal.dll directly or use the osgeo.ogr Python package. You can download and install inofficial Windows binaries of GDAL and the Python package (e.g. gdal-19-xxxx-code.msi).
You need to add the installation path to the Windows PATH environment variable in both cases. You can set the variable temporary on the command line (spaces in the filename need no quotes or escaping):
set PATH=%PATH%;C:\Program Files (x86)\GDAL
Or you can add it to your systems environment variables.
You also need to set GDAL_DRIVER_PATH or OGR_DRIVER_PATH to the gdalplugins directory when you want to use the Oracle plugin (extra download from URL above):
set GDAL_DRIVER_PATH=C:\Program Files (x86)\GDAL\gdalplugins
pip downloads all packages from https://pypi.python.org/, but not all platform combinations might be available as a binary package, especially if you run a 64bit version of Python.
If you run into trouble during installation, because it is trying to compile something (e.g. complaining about vcvarsall.bat), you should look at Christoph Gohlke’s Unofficial Windows Binaries for Python Extension Packages. This is a reliable site for binary packages for Python. You need to download the right package: The cpxx code refers to the Python version (e.g. cp27 for Python 2.7); win32 for 32bit Python installations and amd64 for 64bit.
You can install the .whl, .zip or .exe packages with pip:
pip install path\to\package-xxx.whl