#21235 closed Bug (fixed)
1.6: Suggest installing standalone pysqlite2 on Windows when using Python 2.6
Reported by: | Ramiro Morales | Owned by: | nobody |
---|---|---|---|
Component: | Documentation | Version: | 1.6-beta-1 |
Severity: | Normal | Keywords: | |
Cc: | Triage Stage: | Accepted | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
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).
Change History (4)
comment:1 by , 11 years ago
comment:2 by , 11 years ago
Has patch: | set |
---|---|
Triage Stage: | Unreviewed → Accepted |
Tes, the proposed patch solves the reported problems.
comment:3 by , 11 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Are you able to test the following patch?