Переход с Python2 на Python3 вызывает проблему в пакете django-earthdistance, на который я полагаюсь
Файл "/opt/folder/api/views.py", строка 63, in from django_earthdistance.models import EarthDistance, LlToEarth Файл "/opt/folder/venv/lib/python3.8/site-packages/django_earthdistance/models.py", строка 4, in from django.utils import six ImportError: cannot import name 'six' from 'django.utils' (/
)Я наконец-то перехожу на Python3 с Python2, и у меня почти все готово, но я получаю эту ошибку от пакета dango-earthdistance, который не обновлялся уже пару лет и, очевидно, не поддерживает последнюю версию Python3, которую я использую (3.8.9). Это позволяет мне вычислять расстояния с lat и lng в Postgres.
Какой мой лучший вариант?
Six - это пакет инструментов для написания кода, совместимый как с Python 2, так и с Python 3.
Django использовал свою собственную копию Six, пока не удалил ее в Django 3.0.
django-earthdistance все еще ищет копию библиотеки Six от Django, и вы можете вернуть ее, установив пакет django-utils-six.
Для получения дополнительной информации обратитесь к этому связанному вопросу.