Установите GDAL / OGR Python API на Debian - PullRequest
0 голосов
/ 15 мая 2018

Я пытаюсь установить привязки Python GDAL / OGR, чтобы они были доступны напрямую из интерпретатора Python на Docker python: образ с растяжением 3.6 *.

Мой Dockerfile выглядит так:

FROM python:3.6-stretch

ENV PYTHONUNBUFFERED 1

ENV LANG=C.UTF-8 LC_ALL=C.UTF-8

RUN apt-get update && apt-get install -y \
  binutils \
  libproj-dev \
  gdal-bin \
  libgdal-dev \
  python3-gdal \
  python3-pip \
  python-numpy \
  python-dev \
  vim

COPY . /app

RUN pip3 install --no-cache-dir -r /app/requirements.txt \
  && rm -rf /requirements.txt

WORKDIR /app

Dockerfileустанавливает текущую стабильную версию GDAL и python3-gdal версии 2.1.2.

При импорте osgeo из интерпретатора Python выдается ошибка:

>>> from osgeo import gdal
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'osgeo'

Как правильно установить необходимые библиотеки?

Ответы [ 2 ]

0 голосов
/ 23 ноября 2018

Я решил эту проблему, установив через Python PIP пакет pygdal. Во-первых, вам нужно проверить версию Gdal, установленную на машине, и установить соответствующий pygdal.

$ gdalinfo --version
GDAL 2.1.3, released 2017/20/01
$ pip install "pygda>=2.1.2,<2.1.3"
0 голосов
/ 16 июля 2018

Проверьте, используете ли вы правильный интерпретатор Python 3. Вы можете позвонить в системе Linux:

whereis python3

Вы установили пакет python3-pip, поэтому у вас есть osgeo в вашем основном python 3 в / usr / bin / python3. В других местах Python 3 osgeo может быть недоступен.

...