Edgewall Software

Trac on Windows

Note: This is about Trac 0.10

Install Python

Trac is written in Python, so you will first need to install Python.

The recommended version of Python at this time is 2.4.4. Many of Trac's dependencies are not available on Windows for Python 2.5, so that version is not yet recommended (but see a workaround).

Download and run the Python MSI installer: python-2.4.4.msi

Then add the path to the directory where you chose to install Python to your PATH environment variable. This is important to be able to run the Python executable from any directory in the command line.

Method 1: Experimental All-In-One Installer

Note: I don't believe that this method works at all. I believe that it was authored when the latest version of pysqlite was compatible with python 2.4.4. At this time the latest version of pysqlite does NOT seem to work with 2.4.4. So when using this approach you end up with a trac installation that fails. You have to back out of all of this and then try method 2 below, which worked for me.

This installation script only requires a Python 2.4 installation and will download and install the basic Trac dependencies and optionally the Subversion libraries. It does not always succeed - see the section Troubleshooting below - if you have problems, try Method 3.

  1. Download and double-click this script to install Trac: trac-0.10.3-win32-install.py
  2. Download and run the installer for the Subversion command line tools: svn-1.4.4-setup.exe (only if you actually need to interface Trac with Subversion of course; since Trac 0.10, Subversion is not a requirement anymore)
  3. Once that's done you can skip ahead to Getting Started.

If your network uses a web proxy server, you may have problems with the first step. You could try setting the HTTP_PROXY environment variable to refer to the proxy server. You can set this variable through Control Panel > System > Advanced > Environment Variables, or by using a command prompt from which you then run the script. In the latter example, you would "SET HTTP_PROXY=http://your.proxy.server:port" [enter] and then "trac-0.10.3-win32-install.py" [enter].

Method 2: Using Installers

You need to download and install the following packages:

Mandatory Packages
Trac 0.10.4 trac-0.10.4.win32.exe (works for Python 2.4 and 2.3)
ClearSilver clearsilver-0.9.14.win32-py2.4.exe (or the Python 2.3 version)
Optional Packages (see notes below)
Subversion svn-python-1.4.4.win32-py2.4.exe (or the Python 2.3 version)
PySqlite pysqlite-2.3.4.win32-py2.4.exe (or the Python 2.3 version)


If you want to install plugins (WebAdmin and SpamFilter highly recommended!), you also need to install Setuptools manually (see below).

Method 3: Manual Installation

If you don't use the All-In-One Installer, you'll have to download and install a few packages manually. This approach has a few more manual steps than the previous ones, but it is almost certain to work and you will know your installation much better at the end than with the more automated approaches. Total install time should be about 20 - 30 minutes if you have a speedy Internet connection.


Setuptools makes installation of Python software easier by automatically downloading and installing Python packages from the internet. It is also used to find and load Trac's plugins.

Download the setuptools installer: ez_setup.py

When the download completes double-click the "ez_setup.py" file from your download folder to install setuptools.

The command line

You'll need to open a Windows command line to install some of the necessary software:

  1. Click "Start" > "Run…" (or press Win+R)
  2. Type "cmd" and click "Ok" - this opens the Windows command console
  3. Type "cd c:\Python24\Scripts"

You should now be in the folder "C:\Python24\Scripts" where you can run the "easy_install" command to install the required software.

Install ClearSilver

Install the ClearSilver template language:

easy_install -f http://clearsilver.net/downloads clearsilver==0.9.14

Install PySQLite

Install the PySqlite database driver:

easy_install pysqlite

If you want to use another database than SQLite, you need to read the TracOnWindows/Advanced instructions.

Note: When installing PySQLite this way, you may see the following error:

Error: Setup script exited with error: Python was built with version 7.1 of Visual Studio, and extensions need to be built with the same version of the compiler, but it isn't installed.

If so, try installing PySQLite with the Windows executable installer referenced earlier:

PySqlite pysqlite-2.3.2.win32-py2.4.exe (or the Python 2.3 version)

Download the installer pysqlite-2.3.2.win32-py2.4.exe to your usual download directory.

When it has finished downloading, double-click on it to run the installer. The installer window will appear, labeled Setup pysqlite-2.3.2.

On the first window of the installation dialog, click Next to begin the installation process.

On the second window, confirm the Python install directory. If you have followed the instructions above, it will be "c:\python24\". The default install directory will show as "c:\python24\Lib\site-packages\". Accept the defaults or change them to match your own directory structure. Click Next to proceed.

The next window in the dialog gives you a chance to cancel or continue. To continue, click Next.

On the next window, the installer shows you installation progress as files are written to the target locations. When the processing is complete, click Finish. If you check the contents of c:\python24\Lib\site-packages\ directory, you should see the directory pysqlite2, which contains the database scripts.

Install Subversion (optional)

Trac can integrate with the Subversion version control software. Follow these steps if you'd like to use Trac with Subversion. You can learn more about how they can integrate from the wiki: TracSubversion.

This document covers using the Subversion command line tools, but you can also use the TortoiseSVN Windows GUI.

Download and run the installer for the Subversion command line tools: svn-1.4.2-setup.exe

The installation begins by displaying a small dialog titled Setup. It asks you whether you wish to continue. Click Yes.

A larger window appears, titled Setup - Subversion. The first window of the dialog says "Welcome to the Subversion Setup Wizard". Click Next. Click "I accept the agreement" and then click Next. On the next window, read the important information and click Next.

Select your destination directory for the Subversion installation. Click Next. You will then have the option of installing a Subversion menu item on the Start Menu, and a selection of places to put Subversion icons. Click Next. Finally you are ready to install. Click Next and the files will be copied to your selected destination. A couple more windows follow the install process, and then you're done.

Go back to your command line to install the Subversion Python library:

easy_install -Z http://subversion.tigris.org/downloads/svn-python-1.4.2.win32-py2.4.exe

Note: the "-Z" option is necessary when installing Subversion so that it is "unzipped". Trac will not be able to access Subversion if it is zipped.

The installation process will begin with "Downloading http://subversion.tigris.org/downloads/svn-python-1.4.2.win32-py2.4.exe" and — if successful — ends with "Processing dependencies for svn-python==1.4.2".

Install Trac

Download and run the latest stable Trac Windows installer: trac-0.10.3.win32.exe

Note: do not run easy_install on the Trac installer. This is not currently supported and Trac will not work correctly when installed this way.

When you run the installer, it displays a window titled Setup Trac 0.10. On the first window of the installation dialog, click Next to get started. Confirm your Python directory and your intended installation directory. Click Next. Click Next again to start the installation. When the process is over, click Finish to complete the installation.

Method 4: All-In-One Step-by-Step Installation Guide

This points to an external guide including setup of Subversion, Apache and other dependencies with detailed steps from scratch. It also contains some recommended installation paths and the corresponding brief but sufficent configurations in various configuration files covered (eg httpd.conf of Apache).

Getting Started

Ok, now that Trac and all its requirements have been installed you can create your first project and try it out.

This example will create the projects in "C:\projects". This is a good default location, but you can put them in another drive or folder if you prefer.

Back to the command line:

md c:\projects
cd c:\projects

Optional: if you're using Trac with Subversion you can create a new repository for your source code:

md c:\projects\svn
svnadmin create c:\projects\svn\my-project

This step causes Subversion to create a subdirectory (c:\projects\svn\my-project) containing the basics of a Subversion project.

Initialize a new Trac project environment:

First go to the 'Scripts' folder in your Python install directory (e.g. "\Python24\Scripts"), and add the '.py' extension onto the files 'tracd' and 'trac-admin' if this is missing. Then, type the following at the command line:

md c:\projects\trac
c:\Python24\Scripts\trac-admin.py c:\projects\trac\my-project initenv

(Warning, the installer seems to hang and display this message: "Cannot open c:\Python25\Scripts\trac-admin.py-script.py". Simply copy the file "trac-admin-script.py" and rename it to "trac-admin.py-script.py". The installer will then successfully run)

Follow the interactive prompts to input information about your project. If you are unsure what to put you can simply press "Enter" to accept the default value.

Project Name [My Project]> 

Database connecting string [sqlite:db/trac.db]>

Repository type [svn]>

Path to repository [/path/to/repos]>

Template directory [C:\Python24\share\trac\templates]>

After this response, the script will say "Creating and Initializing Project". A large number of messages will scroll, finishing with "Congratulations!".

Note for Subversion users: when asked for the "Path to repository" input the folder of the repository you just created:

Path to repository [/path/to/repos]> c:/projects/svn/my-project

Note: be sure to include the full path, including the drive letter.

Try it out

Trac includes a standalone webserver called tracd. You can also use Trac with other webservers, but you should first try tracd to make sure everything's set up and working correctly:

From the command line, and in the [Python Install]\Scripts directory:

tracd.py -p 8000 c:\projects\trac\my-project

Open your browser to http://localhost:8000 to test out your new Trac project. You should see the title "Welcome to Trac 0.10" in your browser, and in the command window from which you just launched tracd there will be a series of status log messages. These messages will continue to update as you move around the Trac site. When you are done, return to the command window from which you launched tracd and press Ctrl+Break to stop tracd.


Unsupported version control system "svn"

The Subversion library is not installed properly. Be sure you used the "-Z" option with easy_install when installing the Subversion bindings.

Error: Setup script exited with error: Python was built with version 7.1 of Visual Studio, and extensions need to be built with the same version of the compiler, but it isn't installed.

From http://www.mail-archive.com/trac-dev@googlegroups.com/msg00997.html

The problem is that the pre-built Windows binaries for PySQLite are currently not detected by setuptools, so it is trying to download and compile the sources which requires a build environment. Unfortunately this is not particularly common or easy on Windows. I have reported the problem to the PySQLite developers, so hopefully they will addresss this soon: http://initd.org/tracker/pysqlite/ticket/191

It appears you can successfully install Trac by following a combination of Method 3: Manual Installation and Method 2: Using Installers, above. The critical step for installing PySQLite is to use the self-installing EXE version, which does not trigger the bogus compile step. As noted above, download and execute the appropriate file:

PySqlite pysqlite-2.3.2.win32-py2.4.exe (or the Python 2.3 version)

See also: the TracOnWindows/Advanced instructions, TracOnWindows/Rewrite for discussing improvements to this page and 0.9/TracOnWindows for the previous version of this document.

Last modified 16 years ago Last modified on Jul 10, 2008, 11:18:36 PM
Note: See TracWiki for help on using the wiki.