Установите gdal == 2.3.3 в вену с помощью pip - PullRequest
1 голос
/ 16 февраля 2020

Я использую anaconda с python 3.7.4 и работаю над VScode. В настоящее время я создаю Flask веб-приложение, в основном с боке, которое я развертываю на google app engine (gcloud). Чтобы работать с ГИС, мне нужно установить geo pandas, что потребует, среди прочего, gdal, fiona, rtree, shapely, pyproj, numpy. Я работаю в виртуальной среде, поэтому я могу установить файлы .whl напрямую с помощью pip install [file.whl], и он будет работать локально без проблем. Я также создал переменную окружения для gdal_data и добавил ее в переменную PATH. Поэтому я пытался развернуть приложение с тех пор, как установил geo pandas, и Google выдает мне сообщение об ошибке gdal-config not found. Я попытался покопаться в этом с моим низким уровнем знаний о зависимостях и развертывании. Я понял следующее:

conda заменит gdal 3.0.4, а установка gdal 2.3.3 pip не имеет этой версии и того, что касается проблемы. Пока я это понял, Google будет использовать мой файл require.txt для установки библиотек, которые я использую в своей виртуальной среде, в их облачную среду, поэтому будет выдано сообщение об ошибке, когда pip не найдет версию gdal 2.3.3, которую я передам. к моим требованиям и тексту, который я установил вручную. Кроме того, Фиона, которая является одним из столпов колеса для построения ГИС-графиков, не совместима с версией gdal, на которой настаивает Конда.

Я много читаю и трачу много времени на устранение этой ошибки. , В основном для Linux есть много информации, но я не смог найти ничего, что могло бы мне помочь.

1 Ответ

1 голос
/ 18 февраля 2020

У меня была такая же проблема при установке gdal:

... main .gdal_config_error: [Errno 2] Нет такого файла или каталога: 'gdal-config': 'gdal-config' ...

Проблема в том, что базовый контейнер docker не имеет необходимых библиотек C для запуска этой версии gdal. Таким образом, вы не можете использовать среду ядра приложения по умолчанию для запуска приложения.

Решение состоит в том, чтобы создать пользовательский runtime (т. Е. docker контейнер) для запуска экземпляра ядра приложения. Есть еще одна запись stackoverflow , в которой объясняется, как именно это сделать.

Самый важный шаг - включить:

sudo apt-get install gdal-bin python-gdal
...