id,summary,reporter,owner,description,type,status,component,version,severity,resolution,keywords,cc,stage,has_patch,needs_docs,needs_tests,needs_better_patch,easy,ui_ux 21235,1.6: Suggest installing standalone pysqlite2 on Windows when using Python 2.6,Ramiro Morales,nobody,"Running the `stable/1.6.x` tests on Windows with the latest official Python 2.6.6 binaries results on many errors: {{{ ---------------------------------------------------------------------- Ran 5880 tests in 212.012s FAILED (failures=6, errors=482, skipped=577, expected failures=11) Destroying test database for alias 'default'... Destroying test database for alias 'other'... }}} Example of one of them: {{{ ====================================================================== ERROR: test_form_jump (django.contrib.formtools.tests.wizard.namedwizardtests.tests.NamedCookieWizardTests) ---------------------------------------------------------------------- Traceback (most recent call last): File ""C:\django\contrib\formtools\tests\wizard\namedwizardtests\tests.py"", line 19, in setUp self.testuser, created = User.objects.get_or_create(username='testuser1') File ""C:\django\db\models\manager.py"", line 154, in get_or_create return self.get_queryset().get_or_create(**kwargs) File ""C:\django\db\models\query.py"", line 388, in get_or_create six.reraise(*exc_info) File ""C:\django\db\models\query.py"", line 379, in get_or_create with transaction.atomic(using=self.db): File ""C:\django\db\transaction.py"", line 265, in __enter__ sid = connection.savepoint() File ""C:\django\db\backends\__init__.py"", line 227, in savepoint self._savepoint(sid) File ""C:\django\db\backends\__init__.py"", line 197, in _savepoint self.cursor().execute(self.ops.savepoint_create_sql(sid)) File ""C:\django\db\backends\util.py"", line 53, in execute return self.cursor.execute(sql, params) File ""C:\django\db\utils.py"", line 99, in __exit__ six.reraise(dj_exc_type, dj_exc_value, traceback) File ""C:\django\db\backends\util.py"", line 51, in execute return self.cursor.execute(sql) File ""C:\django\db\backends\sqlite3\base.py"", line 444, in execute return Database.Cursor.execute(self, query) OperationalError: near ""SAVEPOINT"": syntax error }}} This might be related to the versions of SQLite shared library and/or `stdlib3` sqlite module shipped with these binaries: {{{ C:\>c:\python26\python Python 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)] on win32 Type ""help"", ""copyright"", ""credits"" or ""license"" for more information. >>> import sqlite3 >>> print(sqlite3.sqlite_version) 3.5.9 >>> print(sqlite3.version) 2.4.1 }}} According to our transactions document savepoint SQL syntax was added to SQLite3 in 3.6.8 (https://docs.djangoproject.com/en/1.6/topics/db/transactions/#savepoints-in-sqlite) Installing the latest pysqlite2 official binaries available ffor Python 2.6 (unfortunately only for 32 bits) at http://code.google.com/p/pysqlite/downloads/detail?name=pysqlite-2.6.3.win32-py2.6.exe solves the problem (the remaining error and failure are unrelated): {{{ ---------------------------------------------------------------------- Ran 5880 tests in 207.032s FAILED (failures=1, errors=1, skipped=530, expected failures=11) }}} Perhaps we need to add a note about this to the relevant document (https://docs.djangoproject.com/en/1.6/ref/databases/#sqlite-notes).",Bug,closed,Documentation,1.6-beta-1,Normal,fixed,,,Accepted,1,0,0,0,0,0