Installation On Windows
This page covers installing mod_wsgi on Windows.
Windows status
Windows support under the 6.x release line is provisional. The project’s author does not run Windows; continued Windows support depends on community testing and bug reports. See Project Status for details.
Several things that work on UNIX-like systems are not available on Windows:
Daemon mode of mod_wsgi is not available. WSGI applications run in embedded mode only.
The
mod_wsgi-express start-servercommand does not work on Windows.pip install mod_wsgiitself works, and the resulting module can be loaded into a system Apache via manual configuration.The
configure/make/make installsource build flow is not supported on Windows; the required build tooling is not part of the Windows Apache distributions. Usepip installinstead.
Apache HTTP Server
For Windows it is recommended that you use the Apache distribution from Apache Lounge:
Apache distributions other than Apache Lounge are sometimes
incomplete — in particular missing the development files (the
include directory and the build glue equivalent to apxs)
that are needed to compile third-party Apache modules. Apache
Lounge supplies a complete distribution suitable for building
mod_wsgi against.
By default, the Windows mod_wsgi build expects Apache to be
installed under C:/Apache24. If your Apache is installed
elsewhere, set the MOD_WSGI_APACHE_ROOTDIR environment variable
to the directory containing the Apache distribution before running
pip install. Use forward slashes in the path, and avoid path
components that contain spaces:
set MOD_WSGI_APACHE_ROOTDIR=C:/Programs/Apache24
Python
Use a standard Python installation — for example a python.org
installer, uv-managed Python, or conda-managed Python.
Python 3.10 or later is required. The Python installation must
include the standard development headers and import library so
that mod_wsgi can link against it.
C compiler
pip install mod_wsgi compiles native C code, so the host needs
a Microsoft Visual C++ build environment compatible with the
Python in use. The simplest way to provide this is to install the
free Build Tools for Visual Studio — selecting the “Desktop
development with C++” workload — from Microsoft’s downloads page.
Installing mod_wsgi
With Apache, Python, and the C build tools in place, install mod_wsgi from PyPI:
python -m venv .venv
.venv\Scripts\activate
pip install mod_wsgi
The install builds the mod_wsgi Apache module against the Apache
identified by either C:/Apache24 or
MOD_WSGI_APACHE_ROOTDIR, and against the Python in use.
Loading the module into Apache
After pip install, run mod_wsgi-express module-config to
print the directives needed to load the module into Apache:
mod_wsgi-express module-config
Add the printed LoadModule and WSGIPythonHome directives to
your Apache httpd.conf file at the same point that other
modules are loaded.
Application-specific Apache configuration — for example a
WSGIScriptAlias directive mapping a URL to a WSGI script — is
added to httpd.conf in the same way as on UNIX. See
Quick Configuration Guide.
Restart Apache (via the Apache Lounge service entry, or whichever mechanism your Apache distribution uses) for the changes to take effect.
Where to go next
Installation From PyPI — non-Windows-specific aspects of the pip-install workflow, including the
module-configandinstall-modulesubcommands.Quick Configuration Guide — adding
WSGIScriptAliasdirectives for your application.Configuration — Apache directive reference.
Project Status — current Windows support status.