Index: docs/ref/contrib/gis/install.txt
===================================================================
--- docs/ref/contrib/gis/install.txt    (revision 17579)
+++ docs/ref/contrib/gis/install.txt    (working copy)
@@ -64,7 +64,7 @@
 PostgreSQL          GEOS, PROJ.4, PostGIS           8.1+                Requires PostGIS.
 MySQL               GEOS                            5.x                 Not OGC-compliant; limited functionality.
 Oracle              GEOS                            10.2, 11            XE not supported; not tested with 9.
-SQLite              GEOS, GDAL, PROJ.4, SpatiaLite  3.6.+               Requires SpatiaLite 2.3+, pysqlite2 2.5+, and Django 1.1.
+SQLite              GEOS, GDAL, PROJ.4, SpatiaLite  3.6.+               Requires SpatiaLite 2.3+, pyspatialite2.6+ OR pysqlite2 2.5+
 ==================  ==============================  ==================  ==========================================================

 .. _geospatial_libs:
@@ -459,9 +459,20 @@

 .. _pysqlite2:

+
+pyspatialite
+^^^^^^^^^^^^
+
+Based almost entirely on pysqlite, this module primarily does one thing different: it build's it's own copy
+of sqlite with spatialite built in.The simplest way to install is to use python package installer PIP:
+
+    $ pip install pyspatialite
+
 pysqlite2
 ^^^^^^^^^

+NOTE: Skip this step if you have already installed pyspatialite
+
 Because SpatiaLite must be loaded as an external extension, it requires the
 ``enable_load_extension`` method, which is only available in versions 2.5+.
 Thus, download pysqlite2 2.6, and untar::
Index: django/db/backends/sqlite3/base.py
===================================================================
--- django/db/backends/sqlite3/base.py  (revision 17579)
+++ django/db/backends/sqlite3/base.py  (working copy)
@@ -22,13 +22,16 @@
 from django.utils.timezone import is_aware, is_naive, utc

 try:
+    from pyspatialite import dbapi2 as Database
+except ImportError, exc:
     try:
         from pysqlite2 import dbapi2 as Database
-    except ImportError, e1:
-        from sqlite3 import dbapi2 as Database
-except ImportError, exc:
-    from django.core.exceptions import ImproperlyConfigured
-    raise ImproperlyConfigured("Error loading either pysqlite2 or sqlite3 modules (tried in that order): %s" % exc)
+    except ImportError, exc:
+        try:
+            from sqlite3 import dbapi2 as Database
+        except ImportError, exc:
+            from django.core.exceptions import ImproperlyConfigured
+            raise ImproperlyConfigured("Error loading either pyspatialite, pysqlite2 or sqlite3 modules (tried in that order): %s" % exc)


 DatabaseError = Database.DatabaseError
@@ -337,7 +340,7 @@
             raise utils.DatabaseError, utils.DatabaseError(*tuple(e)), sys.exc_info()[2]

     def convert_query(self, query):
-        return FORMAT_QMARK_REGEX.sub('?', query).replace('%%','%')
+        return FORMAT_QMARK_REGEX.sub('?', query).replace('%%', '%')

 def _sqlite_extract(lookup_type, dt):
     if dt is None:
Index: django/contrib/gis/db/backends/spatialite/base.py
===================================================================
--- django/contrib/gis/db/backends/spatialite/base.py   (revision 17579)
+++ django/contrib/gis/db/backends/spatialite/base.py   (working copy)
@@ -15,7 +15,7 @@
     def __init__(self, *args, **kwargs):
         # Before we get too far, make sure pysqlite 2.5+ is installed.
         if Database.version_info < (2, 5, 0):
-            raise ImproperlyConfigured('Only versions of pysqlite 2.5+ are '
+            raise ImproperlyConfigured('Only versions of pyspatialite 2.6+ or pysqlite 2.5+ are '
                                        'compatible with SpatiaLite and GeoDjango.')

         # Trying to find the location of the SpatiaLite library.
@@ -47,7 +47,7 @@
                 self.connection.enable_load_extension(True)
             except AttributeError:
                 raise ImproperlyConfigured('The pysqlite library does not support C extension loading. '
-                                           'Both SQLite and pysqlite must be configured to allow '
+                                           'Install pyspatialite or configure SQLite and pysqlite to allow '
                                            'the loading of extensions to use SpatiaLite.'
                                            )

