Проблемы с путями GDAL в macOSX High Sierra

На моей машине (macOS под управлением 10.13.6) установлен и работает GDAL для проекта Django под управлением python 3.6.5. Не было никаких проблем в течение 2+ лет, и я ничего не менял (насколько мне известно), но теперь столкнулся с проблемой, когда я пытаюсь выполнить команду manage.py, где она выдает ошибку OSError: dlopen(libgdal.so, 6): image not found

Trace:

Ранее я устанавливал GDAL_LIBRARY_PATH='/Users/me/.pyenv/versions/3.6.5/lib/python3.6/site-packages/django/contrib/gis/gdal/libgdal.py', что, опять же, работало в течение нескольких лет, пока не перестало работать (или не работает).

в моем .bash_profile я установил:

export PATH="/usr/local/opt/gdal2/bin:$PATH"
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
export PATH=/Library/Frameworks/GDAL.framework/Programs:$PATH source /Users/me/.bash_profile

И я могу подтвердить, что GDAL установлен:

$ which gdal-config

/Library/Frameworks/GDAL.framework/Programs/gdal-config

$ gdal-config --version

2.3.2

Похоже, что на моей машине установлено несколько версий gdal, потому что, запустив brew info gdal, я вижу:

gdal: stable 3.2.1, HEAD
Geospatial Data Abstraction Library
https://www.gdal.org/
Conflicts with:
  cpl (because both install cpl_error.h)
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/gdal.rb
License: MIT
==> Dependencies
Build: pkg-config ✔
Required: cfitsio ✔, epsilon ✔, expat ✔, freexl ✔, geos ✔, giflib ✔, hdf5 ✔, jpeg ✔, json-c ✔, libdap ✔, libgeotiff ✔, libpng ✔, libpq ✔, libspatialite ✔, libtiff ✔, libxml2 ✔, netcdf ✔, numpy ✔, openjpeg ✔, pcre ✔, poppler ✘, proj ✔, python@3.9 ✔, sqlite ✔, unixodbc ✔, webp ✘, xerces-c ✔, xz ✔, zstd ✘
==> Options
--HEAD
    Install HEAD version

Не ясно, является ли это частью проблемы. Я пробовал удалять и переустанавливать gdal с помощью pip3 и homebrew, интересно, что это действительно бросает большую ошибку, которую я не видел раньше:

Я вижу, что сборка gdal не работает и что он не находит нужные ему директории и библиотеки, но у меня возникают трудности с дальнейшим исследованием и устранением неполадок - похоже на проблему с симлинками, но я не уверен, что вызвало ее или какова ее основная причина. Большинство моих поисков из других сообщений на этом сайте не дали ответов или вопросов, которые кажутся конструктивными или информативными для моего конкретного случая. Спасибо

Непосредственная проблема заключается в том, что вы удалили GDAL и не смогли успешно установить его заново (и pip, и homebrew не смогли скомпилировать файлы, которые приведут к генерации libgdal.so. Использование пакета django.contrib.gis.gdal Python требует успешной установки библиотеки GDAL library. Программа установки ожидает, что эта библиотека может быть найдена/загружена с помощью "обычных" методов загрузки библиотек и поэтому не учитывает переменную окружения GDAL_LIBRARY_PATH.

Посмотрите на инструкции по сборке GDAL из исходного кода. Там конкретно упоминается ошибка, которую вы испытываете. Также обратите внимание на этой странице, что GDAL_LIBRARY_PATH должен быть установлен на путь libgdal.so, , а не libgdal.py, хотя вы упомянули, что у вас почему-то работает последний вариант, возможно, стоит исправить это после сборки/установки библиотеки GDAL.

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