Выпуск последней Django (3.0.4) Теперь я получаю это:
File "[...]site-packages/django/contrib/gis/gdal/driver.py", line 5, in <module>
from django.contrib.gis.gdal.prototypes import ds as vcapi, raster as rcapi
File "[...]site-packages/django/contrib/gis/gdal/prototypes/ds.py", line 71, in <module>
get_field_as_integer64 = int64_output(lgdal.OGR_F_GetFieldAsInteger64, [c_void_p, c_int])
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ctypes/__init__.py", line 361, in __getattr__
func = self.__getitem__(name)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ctypes/__init__.py", line 366, in __getitem__
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: dlsym(0x101667060, OGR_F_GetFieldAsInteger64): symbol not found
Мои наблюдения:
Я [уточнил] имена путей, которые относятся к Django в моей виртуальной среде. Я замечаю, что модуль, который фактически выходит из строя, находится в /Library/Frameworks/Python.framework/ ...
это на Macinto sh OS / X Catalina.
Версия Python, установленная на этом компьютере, - 3.6.4. (Версия на хостинге значительно старше ... 3.4.)
Это, как я подозреваю, проблема с установкой Python на этом компьютере? (Самая последняя версия, которую можно установить здесь - 3.7.7.)
РЕДАКТИРОВАТЬ: НЕТ, это не так!
После установки Django 3.0.4 на Linux хосте я получил это:
AttributeError: /usr/local/lib/libgdal.so.1: undefined symbol: OGR_F_GetFieldAsInteger64
Теперь, опять же, это общесистемная библиотека, которая вызывается, но теперь я подозреваю, что причина проблемы root на самом деле находится в этой строке:
File "[...]/lib/python3.6/site-packages/django/contrib/gis/gdal/prototypes/ds.py", line 71, in <module>
get_field_as_integer64 = int64_output(lgdal.OGR_F_GetFieldAsInteger64, [c_void_p, c_int])
Сейчас я откатываю Django версии назад, чтобы посмотреть, смогу ли я устранить проблему go и если да, то «ответь на мой вопрос».