Heroku Django: Поиск неверной версии GDAL на новом стеке Heroku-22

Я пытаюсь перейти со стека Heroku-18 на Heroku-22 для моего веб-приложения Django. Чтобы использовать новый стек, мне пришлось перейти с Python 3.7.2 на Python 3.10.8.

Из того, что я видел на Stack Overflow до сих пор и в других источниках в интернете, я уже устанавливал GDAL/GIS правильным способом для приложения Django на Heroku. Это использование билдпака и его расположение первым в списке билдпаков:

remote: Building source:
remote: 
remote: -----> Building on the Heroku-22 stack
remote: -----> Using buildpacks:
remote:        1. https://github.com/heroku/heroku-geo-buildpack.git
remote:        2. heroku/python

Я ожидал, что проблем с обновлением не будет, но теперь по какой-то причине у него проблемы с поиском GDAL. Вот версии, которые устанавливаются:

remote: -----> Geo Packages (GDAL/GEOS/PROJ) app detected
remote: -----> Installing GDAL-2.4.0
remote: -----> Installing GEOS-3.7.2
remote: -----> Installing PROJ-5.2.0

Вот ошибка, которую я получаю. Обратите внимание, что он не ищет gdal2.4.0, который установлен. Однако он ищет gdal, который, я надеюсь, будет покрыт этой установкой.

django.core.exceptions.ImproperlyConfigured: Could not find the GDAL library (tried "gdal", "GDAL", "gdal2.2.0", "gdal2.1.0", "gdal2.0.0", "gdal1.11.0", "gdal1.10.0", "gdal1.9.0"). Is GDAL installed? If it is, try setting GDAL_LIBRARY_PATH in your settings.

Хотя в ответе на этот вопрос говорится, что не следует устанавливать переменную GDAL_LIBRARY_PATH, я думаю, что одним из возможных решений было бы установить ее в любом случае. Однако я не уверен, куда устанавливается GDAL, поскольку он вообще не может быть установлен без сбоя сборки и возникновения ошибки.

Если кто-нибудь знает решение, это было бы супер полезно. Огромное спасибо!!!

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Источники, просмотренные ранее:

Полная трассировка ошибки:

Какую версию Django вы используете? Я подозреваю, что она довольно старая.

Список поддерживаемых версий GDAL для Django 2.1 совпадает со списком в вашем сообщении об ошибке:

  • 2.2
  • 2.1
  • 2.0
  • 1.11
  • 1.10
  • 1.9

Для получения поддержки GDAL 2.4 вам придется перейти как минимум на Django 3.0 , но даже эта версия уже далеко за пределами периода расширенной поддержки , который закончился 6 апреля 2021 года.

Я предлагаю вам обновить Django 3.2, по крайней мере, до самой старой активно поддерживаемой версии. Это LTS-релиз, который будет поддерживаться до апреля 2024 года.

Вернуться на верх