Edgewall Software

Version 216 (modified by Christian Boos, 16 years ago) ( diff )

Caveats for Subversion binaries added (default packages are built against Apache 2.0 libraries)

Trac On Windows

The installation of Trac on Windows is now much simpler, due to the drop of ClearSilver as the primary template engine in favor of Genshi (Clearsilver is still optionally supported in case you need to use a plugin that requires it).

If furthermore you don't need to interface with Subversion, then all you need besides are a few Python packages. It doesn't hurt to have an svn client at hand for checking out the latest "trunk" version of some packages, like Trac itself or Genshi.

Installing Python on Windows

After the installation, don't forget to 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.

Python 2.4

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

Python 2.5

Simply download and install the appropriate .msi for your Python platform:

Method 1: Using Installers

You need to download and install the following packages:

Mandatory Packages Installer (see notes below)
Trac 0.11 not yet available (this installer will work for Python 2.3, 2.4 and 2.5) (1)
Optional Packages Installer
PySqlite pysqlite-2.3.5.win32-py2.5.exe (or the Python 2.4 or Python 2.3 versions) (2)
Subversion svn-python-1.4.5.win32-py2.5.exe (or the Python 2.4 or Python 2.3 versions) (3)
ClearSilver clearsilver-0.9.14.win32-py2.4.exe (or the Python 2.3 version) (4)

Notes:

  1. Trac When you run the installer, it displays a window titled Setup Trac 0.11. 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. .
    Also, do not run easy_install on the Trac installer. This is not currently supported and Trac will not work correctly when installed this way.
  2. Pysqlite
    • If you're using Python 2.5, Trac is able to use the built-in sqlite3 module (same as Pysqlite 2.3.2), so you don't necessarily need to install that package.
    • If you plan to use another database than SQLite, installing Pysqlite is of course not needed. See the TracOnWindows/Advanced instructions for other options.
  3. Subversion
  4. Clearsilver You only need Clearsilver if you're using a plugin that was not yet ported to Genshi.

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

Method 2: Manual Installation

This methods is about using easy_install (from Setuptools) at the command line. Ideally, once everything will have settle down, this will be a matter of doing easy_install Trac Don't try that yet, though, rather go through the following steps.

Setuptools

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.

Installing Genshi

Download the zip package:

Unzip to a folder and then from that folder run python setup.py install in a command window. (Make sure you have added the Python install path (e.g. C:\Program Files\Python25) to your system PATH variable. You can do this by right clicking on My Computer, clicking on Properties, selecting the Advanced tab, clicking the Environment Variables button, scrolling down the second list window until you see the 'Path' variable, then editing the string to add the Python install path. Then start command line for Genshi installation.)

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 in the Method 1 above.

When it has finished downloading, double-click on it to run the installer. 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/1.4.5-win32/apache-2.0/svn-python-1.4.5.win32-py2.5.exe

(pick the appropriate download link matching your installed Python version)

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 ClearSilver (optional)

Install the ClearSilver template language:

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

Installing mod_python for use with the Apache HTTP server (optional)

If you are using an Apache server, you will need the latest mod_python for windows, built against Python v2.5. Currently version 3.3.1 is available at the Apache website (click on "Other Files" and surf to modpython/win/3.3.1/). However, you can also get other versions here, courtesy of a very kind and wise gentleman called Nicolas Lehuen.

Installing plugins

There's no need to install the WebAdmin plugin, as it has now been integrated in Trac proper. Quite to the contrary, you should remove it if you're upgrading (it will be automatically disable though, so don't worry).

See TracPlugins for details about plugin installation.

For example, you can install the SpamFilter plugin. For that, you can grab them directly from the repository, and install it the same way you did for Trac:

> cd C:\src
> svn checkout http://svn.edgewall.org/repos/trac/sandbox/spam-filter 
> cd spam-filter
> python setup.py install

Note if you catch an error:"ImportError: No module named setuptools" please download http://peak.telecommunity.com/dist/ez_setup.py and install the setuptools.

If for some reason the above step fails, either because there's no package for the Windows platform you're using or the setuptools don't manage to read information from your svn working copy (if you used Subversion 1.4 for doing the checkout), you'll probably need to install first a recent setuptools package, itself available from http://svn.python.org/projects/sandbox/trunk/setuptools. Version 0.7a1 (r51948) from the repository worked for me.

Installing Trac

You simply need the latest trunk (0.11dev) (beta1 to come very soon) - to get this type the following in the command window. (Make sure you have added the Python install path (e.g. C:\Program Files\Python25) to your system PATH variable. You can do this by right clicking on My Computer, clicking on Properties, selecting the Advanced tab, clicking the Environment Variables button, scrolling down the second list window until you see the 'Path' variable, then editing the string to add the Python install path). Make sure you have setuptools installed before proceed.

> cd C:\src
> svn checkout http://svn.edgewall.org/repos/trac/trunk
> cd trunk
> python setup.py install

Then, have a look at how to setup the TracEnvironment, use the TracStandalone web front-end and you're set.

More specifically, do this to get 0.11 with webadmin up and running:

Create an administrator user (uses a script described elsewhere in the wiki)
python trac-digest.py -u adm -p adm >> c:\digest.txt

Give that user all permissions
trac-admin c:\myproj permission add adm TRAC_ADMIN

Now…
tracd -p 8000 —auth=myproj,c:\digest.txt,trac c:\myproj

And you'll be able to see the Admin tab if you log in with 'adm'

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

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.

Troubleshooting

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 2: Manual Installation and Method 1: 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, 0.10/TracOnWindows and Trac0.9/TracOnWindows for the previous version of this document.

Attachments (2)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.