Version 4 (modified by moonfallen, 10 years ago) (diff)


Windows Build Environment Setup


Some requirements must be met to build the "Official" win32 Twisted. The Official build produces two files with the following features:

  • One is for Python 2.4, the other one for Python 2.3.
  • There is a shortcut in the start menu for the Twisted Command Prompt

which is a standard Windows command prompt with PATH and environment variables set up to invoke the Twisted commands the same way you would on Unix; e.g. "mktap".

  • There are shortcuts for some, but not all, of the GUI interfaces to

the Twisted command line tools. Currently only tkmktap appear in the Start Menu, as the other GUI tools do not work well if at all.

There are two ways to get Twisted installed from source. One is to do the bare minimum necessary so that 'import twisted' works; the other is the Official method.


This method is only necessary if you are trying to install Twisted from e.g. the Subversion repository, and you don't want to acquire all the tools necessary to do the Official build.

  • Install either Python 2.3 or Python 2.4
  • Install ZopeInterface 3.0.1 or later for Python
  • With MSVC *

Without Cygwin installed, you need MSVC installed for the cl.exe compiler, which is the default on windows. Just issue the command: $ python install

  • With Cygwin *

With Cygwin installed, you need to make sure these two packages are installed:

  • gcc
  • gcc-mingw

You also need libpython22.a (or libpython23.a as appropriate). Instructions can be found at .

Once that's done, just issue the command:

$ python build --compiler=mingw32 install

If for some reason extensions won't build, try this instead:

$ python build_py build_scripts install --skip-build


The Official Twisted is built with native Python 2.3 (latest), not the Cygwin version of Python, however it is built with the help of Cygwin packages.

  • Python 2.3 AND Python 2.4 *

You need both.

  • ZopeInterface 3.0.1

Download and install it for both versions of Python.

  • A-A-P *

This is what actually does the building. After installing it, make sure the file aap.bat is in your system PATH, using (for example) the environment variable applet.

  • winreg *

You need this little module: # FIXME -- make aap fetch it

  • Cygwin *

You will need Cygwin, with the gcc-mingw package installed. Get Cygwin at:


  • Inno Setup *

This creates nice self-installers with uninstall functionality: You need version 4.0.8 or above. (5.0.8 or later preferred.)

  • Bootstrap Twisted *

You will need an existing installation of Twisted, as the build script uses some utilities within Twisted. The "bare minimum" install described above will suffice.

  • Issue the build command *

Bring up a Cygwin prompt. Change directories to the root of your Twisted source tree. It should contain the directory "win32/". Now run the following:

$ aap.bat -f win32/build.aap

The four distributable files will be in dist/ when this is done.


If you have trouble building the official build, try the following:

  1. Remove "C:\winnt\aap.bat" or "C:\windows\aap.bat" which will have incorrect contents.
  1. Make sure that your system PATH includes C:\Program Files\AAP\Exec
  1. Make sure your cygwin .bash_profile isn't clobbering this system PATH
  1. Make sure you don't have Cygwin's Python package installed.
  1. Make sure both Python 2.3 and Python 2.4 are installed.
  1. If you're doing an official release, see maintainer-notes.txt.

Windows Maintainer Instructions

  1. Wait for an official release of some kind
  1. Download the Sumo Tarball of that release. (Now just the "Twisted" tarball.)
  1. Unpack this tarball.
  1. In the unpacked sumo directory,

svn co svn+ssh://

  1. aap -f win32/build.aap
  1. Rename twisted.pth -> twisted.pth_ so twisted is not in the python path
  1. Install dist/Twisted*2.3*.exe
  1. Run Twisted Command Prompt
  1. Run mktap, twistd with no args. Observe no errors.
  1. Repeat steps 7, 8, 9 for dist/Twisted*2.4*.exe
  1. Rename twisted.pth_ -> twisted.pth
  1. Bug someone to give you g+w to /twisted/Releases/Twisted/2.?
  1. Upload dist/*.exe to
  1. Make sure uploaded files are mode 664, group cvs-twisted
  1. Update the Wiki front page and the TwistedProject page with the new urls.
  1. Repeat at step 1.