According to the ​GEOS changelog, GEOSFree was added in their r2506 (2009-05-13) while 3.1.0 was released around r2271 (2009-03-10), so it looks like the number in the version check in django.contrib.gis.geos.prototypes.errcheck should be bumped up to 3.1.1 (released 2009-06-15) or replaced with a try/except block.