Edgewall Software

Version 3 (modified by Christian Boos, 14 years ago) ( diff )

Insist on the need to use a SQLite built with the --enable-threadsafe option


PySqlite is a Python binding for the SQLite light-weight database engine, which is Trac's default DatabaseBackend.

It should still be possible to use the old SQLite 2.8.x with the Pysqlite 1.0.1, but Trac 0.9 works best with SQLite 3.2.x. The compatible Python bindings are:

  • either the 1.x release branch of PySqlite (version 1.1.6 as of this writing)
  • or, better, the newer 2.0.x release branch (version ≥ 2.0.5 preferred)
  • (the upcoming 2.1.x release branch has just been started and has not yet been tested with Trac)

Recent versions are available from there.

Note: If you want to use Trac in a multi-threaded setup by using either TracModPython or TracStandalone, be sure to build a thread-safe version of SQLite, by using the --enable-threadsafe configuration switch. If you use a non thread-safe library, which is unfortunately what you get by default on non-windows platforms, you face the risk to get persistent database locks (see #2170).

Note: See TracWiki for help on using the wiki.