#28447: django.contrib.gis.geos can't parse version string "3.6.2-CAPI-1.10.2 4d2925d6" -------------------------------------+------------------------------------- Reporter: Lyle Scott III | Owner: Lyle Type: | Scott III Cleanup/optimization | Status: closed Component: GIS | Version: 1.10 Severity: Normal | Resolution: duplicate Keywords: geos version | Triage Stage: | Unreviewed Has patch: 0 | Needs documentation: 0 Needs tests: 0 | Patch needs improvement: 0 Easy pickings: 1 | UI/UX: 0 -------------------------------------+------------------------------------- Changes (by Tim Graham):
* status: assigned => closed * resolution: => duplicate Old description: > I updated Python via brew yesterday (3.6.1 to 3.6.2) and have been having > problems running Django since then. > https://code.djangoproject.com/ticket/28441 references the issue, but for > Django 1.11.x. Looking at the PR for that ticket, > https://github.com/django/django/pull/8817, it looks like that is not a > clean patch to Django 1.10.x > > * macOS Sierra - 10.12.5 (16F73) > * Homebrew 1.2.5 > * Python 3.6.2 from brew > > {{{ > Traceback (most recent call last): > File "gooee_django/manage.py", line 10, in <module> > execute_from_command_line(sys.argv) > File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- > packages/django/core/management/__init__.py", line 367, in > execute_from_command_line > utility.execute() > File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- > packages/django/core/management/__init__.py", line 341, in execute > django.setup() > File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- > packages/django/__init__.py", line 27, in setup > apps.populate(settings.INSTALLED_APPS) > File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- > packages/django/apps/registry.py", line 108, in populate > app_config.import_models(all_models) > File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- > packages/django/apps/config.py", line 199, in import_models > self.models_module = import_module(models_module_name) > File > "/Users/lyle/.virtualenvs/project/lib/python3.6/importlib/__init__.py", > line 126, in import_module > return _bootstrap._gcd_import(name[level:], package, level) > File "<frozen importlib._bootstrap>", line 978, in _gcd_import > File "<frozen importlib._bootstrap>", line 961, in _find_and_load > File "<frozen importlib._bootstrap>", line 950, in > _find_and_load_unlocked > File "<frozen importlib._bootstrap>", line 655, in _load_unlocked > File "<frozen importlib._bootstrap_external>", line 678, in exec_module > File "<frozen importlib._bootstrap>", line 205, in > _call_with_frames_removed > File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- > packages/django/contrib/auth/models.py", line 4, in <module> > from django.contrib.auth.base_user import AbstractBaseUser, > BaseUserManager > File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- > packages/django/contrib/auth/base_user.py", line 52, in <module> > class AbstractBaseUser(models.Model): > File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- > packages/django/db/models/base.py", line 119, in __new__ > new_class.add_to_class('_meta', Options(meta, app_label)) > File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- > packages/django/db/models/base.py", line 316, in add_to_class > value.contribute_to_class(cls, name) > File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- > packages/django/db/models/options.py", line 214, in contribute_to_class > self.db_table = truncate_name(self.db_table, > connection.ops.max_name_length()) > File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- > packages/django/db/__init__.py", line 33, in __getattr__ > return getattr(connections[DEFAULT_DB_ALIAS], item) > File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- > packages/django/db/utils.py", line 211, in __getitem__ > backend = load_backend(db['ENGINE']) > File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- > packages/django/db/utils.py", line 115, in load_backend > return import_module('%s.base' % backend_name) > File > "/Users/lyle/.virtualenvs/project/lib/python3.6/importlib/__init__.py", > line 126, in import_module > return _bootstrap._gcd_import(name[level:], package, level) > File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- > packages/django/contrib/gis/db/backends/postgis/base.py", line 5, in > <module> > from .features import DatabaseFeatures > File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- > packages/django/contrib/gis/db/backends/postgis/features.py", line 1, in > <module> > from django.contrib.gis.db.backends.base.features import > BaseSpatialFeatures > File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- > packages/django/contrib/gis/db/backends/base/features.py", line 4, in > <module> > from django.contrib.gis.db.models import aggregates > File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- > packages/django/contrib/gis/db/models/__init__.py", line 2, in <module> > from django.contrib.gis.db.models.aggregates import * # NOQA > File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- > packages/django/contrib/gis/db/models/aggregates.py", line 1, in <module> > from django.contrib.gis.db.models.fields import ExtentField > File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- > packages/django/contrib/gis/db/models/fields.py", line 1, in <module> > from django.contrib.gis import forms > File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- > packages/django/contrib/gis/forms/__init__.py", line 3, in <module> > from .fields import ( # NOQA > File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- > packages/django/contrib/gis/forms/fields.py", line 4, in <module> > from django.contrib.gis.geos import GEOSException, GEOSGeometry > File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- > packages/django/contrib/gis/geos/__init__.py", line 18, in <module> > HAS_GEOS = geos_version_info()['version'] >= '3.3.0' > File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- > packages/django/contrib/gis/geos/libgeos.py", line 191, in > geos_version_info > raise GEOSException('Could not parse version info string "%s"' % ver) > django.contrib.gis.geos.error.GEOSException: Could not parse version info > string "3.6.2-CAPI-1.10.2 4d2925d6" > }}} > > It just looks like the regex is off. This is a management command, but > the error show its self in many utilities. New description: I updated Python via brew yesterday (3.6.1 to 3.6.2) and have been having problems running Django since then. #28441 references the issue, but for Django 1.11.x. Looking at the PR for that ticket, https://github.com/django/django/pull/8817, it looks like that is not a clean patch to Django 1.10.x * macOS Sierra - 10.12.5 (16F73) * Homebrew 1.2.5 * Python 3.6.2 from brew {{{ Traceback (most recent call last): File "gooee_django/manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- packages/django/core/management/__init__.py", line 367, in execute_from_command_line utility.execute() File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- packages/django/core/management/__init__.py", line 341, in execute django.setup() File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- packages/django/__init__.py", line 27, in setup apps.populate(settings.INSTALLED_APPS) File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- packages/django/apps/registry.py", line 108, in populate app_config.import_models(all_models) File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- packages/django/apps/config.py", line 199, in import_models self.models_module = import_module(models_module_name) File "/Users/lyle/.virtualenvs/project/lib/python3.6/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 978, in _gcd_import File "<frozen importlib._bootstrap>", line 961, in _find_and_load File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 655, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 678, in exec_module File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- packages/django/contrib/auth/models.py", line 4, in <module> from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- packages/django/contrib/auth/base_user.py", line 52, in <module> class AbstractBaseUser(models.Model): File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- packages/django/db/models/base.py", line 119, in __new__ new_class.add_to_class('_meta', Options(meta, app_label)) File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- packages/django/db/models/base.py", line 316, in add_to_class value.contribute_to_class(cls, name) File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- packages/django/db/models/options.py", line 214, in contribute_to_class self.db_table = truncate_name(self.db_table, connection.ops.max_name_length()) File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- packages/django/db/__init__.py", line 33, in __getattr__ return getattr(connections[DEFAULT_DB_ALIAS], item) File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- packages/django/db/utils.py", line 211, in __getitem__ backend = load_backend(db['ENGINE']) File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- packages/django/db/utils.py", line 115, in load_backend return import_module('%s.base' % backend_name) File "/Users/lyle/.virtualenvs/project/lib/python3.6/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- packages/django/contrib/gis/db/backends/postgis/base.py", line 5, in <module> from .features import DatabaseFeatures File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- packages/django/contrib/gis/db/backends/postgis/features.py", line 1, in <module> from django.contrib.gis.db.backends.base.features import BaseSpatialFeatures File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- packages/django/contrib/gis/db/backends/base/features.py", line 4, in <module> from django.contrib.gis.db.models import aggregates File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- packages/django/contrib/gis/db/models/__init__.py", line 2, in <module> from django.contrib.gis.db.models.aggregates import * # NOQA File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- packages/django/contrib/gis/db/models/aggregates.py", line 1, in <module> from django.contrib.gis.db.models.fields import ExtentField File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- packages/django/contrib/gis/db/models/fields.py", line 1, in <module> from django.contrib.gis import forms File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- packages/django/contrib/gis/forms/__init__.py", line 3, in <module> from .fields import ( # NOQA File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- packages/django/contrib/gis/forms/fields.py", line 4, in <module> from django.contrib.gis.geos import GEOSException, GEOSGeometry File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- packages/django/contrib/gis/geos/__init__.py", line 18, in <module> HAS_GEOS = geos_version_info()['version'] >= '3.3.0' File "/Users/lyle/.virtualenvs/project/lib/python3.6/site- packages/django/contrib/gis/geos/libgeos.py", line 191, in geos_version_info raise GEOSException('Could not parse version info string "%s"' % ver) django.contrib.gis.geos.error.GEOSException: Could not parse version info string "3.6.2-CAPI-1.10.2 4d2925d6" }}} It just looks like the regex is off. This is a management command, but the error show its self in many utilities. -- Comment: Per our [https://docs.djangoproject.com/en/dev/internals/release-process /#supported-versions supported versions policy], 1.10 is only receiving fixes for security and data loss issues, so we won't fix this issue there. Closing as duplicate of #28441. -- Ticket URL: <https://code.djangoproject.com/ticket/28447#comment:2> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To post to this group, send email to django-updates@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/067.f6e7094ebce16c977247656d88ce07cf%40djangoproject.com. For more options, visit https://groups.google.com/d/optout.